Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AF SDK Reference

PIPoint.GetAttribute Method

  • Last UpdatedNov 18, 2025
  • 5 minute read
PIPoint.GetAttribute Method
Get the value of a PIPoint attribute by name.

Namespace:  OSIsoft.AF.PI
Assembly:  OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182

Syntax

public Object GetAttribute(
	string name
)
Public Function GetAttribute ( 
	name As String
) As Object

Dim instance As PIPoint
Dim name As String
Dim returnValue As Object

returnValue = instance.GetAttribute(name)
public:
Object^ GetAttribute(
	String^ name
)
member GetAttribute : 
        name : string -> Object 

Parameters

name
Type: SystemString
The name of the PIPoint attribute for the value to be returned. The FindAttributeNames(String) method will return the list of loaded attribute names.

Return Value

Type: Object
Returns the value of the PIPoint attribute for the specified name.

Exceptions

ExceptionCondition
KeyNotFoundException This exception is thrown when the specified name is not found in the cache of loaded PIPoint attributes.

Remarks

Examples

// This example demonstrates how to create an attribute for an
// element and retrieve and set PIPoint attributes.

// Get the Database
PISystems myPISystems = new PISystems();
PISystem myPISystem = myPISystems.DefaultPISystem;
AFDatabase myDB = myPISystem.Databases.DefaultDatabase;

// Create an Element Template
AFElementTemplate myElemTemplate = myDB.ElementTemplates.Add("MyElementTemplate");
AFAttributeTemplate myAttrTemplate = myElemTemplate.AttributeTemplates.Add("Attr#1");
myAttrTemplate.DataReferencePlugIn = AFDataReference.GetPIPointDataReference(myPISystem);
myAttrTemplate.ConfigString = @"\\%Server%\%Element%;pointtype=Float64";

// Create an Element from the Element Template
AFElement myElement = myDB.Elements.Add("MyElement", myElemTemplate);

// Create the PIPoint for the Attribute
AFAttribute myAttribute = myElement.Attributes["Attr#1"];
myAttribute.DataReference.CreateConfig();

// Find all PIPoint Attributes and Display their values
object drAttrValue;
myAttribute.PIPoint.LoadAttributes();
IEnumerable<string> list = myAttribute.PIPoint.FindAttributeNames(null);
Console.WriteLine("Found PIPoint Attributes: nameFilter='<null>'");
foreach (string item in list)
{
    drAttrValue = myAttribute.PIPoint.GetAttribute(item);
    Console.WriteLine("  {0} = '{1}'", item, drAttrValue);
}
Console.WriteLine();

// Find PIPoint Attributes matching 'Ex*' and display their values
list = myAttribute.PIPoint.FindAttributeNames("Ex*");
Console.WriteLine("Found PIPoint Attributes: nameFilter='Ex*'");
int cnt = 0;
foreach (string item in list)
{
    cnt++;
    drAttrValue = myAttribute.PIPoint.GetAttribute(item);
    Console.WriteLine("  {0} = '{1}'", item, drAttrValue);
}
Console.WriteLine();

// Unload all PIPoint Attributes
myAttribute.PIPoint.UnloadAllAttributes();

// Load specific PIPoint Attributes and display their values
myAttribute.PIPoint.LoadAttributes(PICommonPointAttributes.PointType,
    PICommonPointAttributes.PointID,
    PICommonPointAttributes.Descriptor,
    PICommonPointAttributes.ExtendedDescriptor,
    PICommonPointAttributes.CreationDate);
drAttrValue = myAttribute.PIPoint.GetAttribute(PICommonPointAttributes.PointType);
Console.WriteLine("PIPoint Attribute '{0}' = '{1}'.", PICommonPointAttributes.PointType, drAttrValue);
drAttrValue = myAttribute.PIPoint.GetAttribute(PICommonPointAttributes.PointID);
Console.WriteLine("PIPoint Attribute '{0}' = '{1}'.", PICommonPointAttributes.PointID, drAttrValue);
drAttrValue = myAttribute.PIPoint.GetAttribute(PICommonPointAttributes.Descriptor);
Console.WriteLine("PIPoint Attribute '{0}' = '{1}'.", PICommonPointAttributes.Descriptor, drAttrValue);
drAttrValue = myAttribute.PIPoint.GetAttribute(PICommonPointAttributes.ExtendedDescriptor);
Console.WriteLine("PIPoint Attribute '{0}' = '{1}'.", PICommonPointAttributes.ExtendedDescriptor, drAttrValue);
drAttrValue = myAttribute.PIPoint.GetAttribute(PICommonPointAttributes.CreationDate);
Console.WriteLine("PIPoint Attribute '{0}' = '{1}'.", PICommonPointAttributes.CreationDate, drAttrValue);
Console.WriteLine();

// Set PIPoint Attribute value
string newAttrValue = "New Value: " + DateTime.Now.ToShortTimeString();
myAttribute.PIPoint.SetAttribute(PICommonPointAttributes.Descriptor, newAttrValue);
myAttribute.PIPoint.SetAttribute(PICommonPointAttributes.ExtendedDescriptor, newAttrValue);
AFErrors<string> errors = myAttribute.PIPoint.SaveAttributes(PICommonPointAttributes.Descriptor,
    PICommonPointAttributes.ExtendedDescriptor);
if (errors != null && errors.HasErrors)
{
    Console.WriteLine("Errors calling PIPoint.SaveAttributes:");
    foreach (var item in errors.Errors)
    {
        Console.WriteLine("  {0}: {1}", item.Key, item.Value);
    }
}
' This example demonstrates how to create an attribute for an
' element and retrieve and set PIPoint attributes.

' Get the Database
Dim myPISystems As PISystems = New PISystems
Dim myPISystem As PISystem = myPISystems.DefaultPISystem
Dim myDB As AFDatabase = myPISystem.Databases.DefaultDatabase

' Create an Element Template
Dim myElemTemplate As AFElementTemplate = myDB.ElementTemplates.Add("MyElementTemplate")
Dim myAttrTemplate As AFAttributeTemplate = myElemTemplate.AttributeTemplates.Add("Attr#1")
myAttrTemplate.DataReferencePlugIn = AFDataReference.GetPIPointDataReference(myPISystem)
myAttrTemplate.ConfigString = "\\%Server%\%Element%;pointtype=Float64"

' Create an Element from the Element Template
Dim myElement As AFElement = myDB.Elements.Add("MyElement", myElemTemplate)

' Create the PIPoint for the Attribute
Dim myAttribute As AFAttribute = myElement.Attributes("Attr#1")
myAttribute.DataReference.CreateConfig()

' Find all PIPoint Attributes and Display their values
Dim drAttrValue As Object
myAttribute.PIPoint.LoadAttributes()
Dim list As IEnumerable(Of String) = myAttribute.PIPoint.FindAttributeNames(Nothing)
Console.WriteLine("Found PIPoint Attributes: nameFilter='<null>'")
For Each item As String In list
    drAttrValue = myAttribute.PIPoint.GetAttribute(item)
    Console.WriteLine("  {0} = '{1}'", item, drAttrValue)
Next
Console.WriteLine()

' Find PIPoint Attributes matching 'Ex*' and display their values
list = myAttribute.PIPoint.FindAttributeNames("Ex*")
Console.WriteLine("Found PIPoint Attributes: nameFilter='Ex*'")
Dim cnt As Integer = 0
For Each item As String In list
    cnt = (cnt + 1)
    drAttrValue = myAttribute.PIPoint.GetAttribute(item)
    Console.WriteLine("  {0} = '{1}'", item, drAttrValue)
Next
Console.WriteLine()

' Unload all PIPoint Attributes
myAttribute.PIPoint.UnloadAllAttributes()

' Load specific PIPoint Attributes and display their values
myAttribute.PIPoint.LoadAttributes(PICommonPointAttributes.PointType,
                                   PICommonPointAttributes.PointID,
                                   PICommonPointAttributes.Descriptor,
                                   PICommonPointAttributes.ExtendedDescriptor,
                                   PICommonPointAttributes.CreationDate)
drAttrValue = myAttribute.PIPoint.GetAttribute(PICommonPointAttributes.PointType)
Console.WriteLine("PIPoint Attribute '{0}' = '{1}'.", PICommonPointAttributes.PointType, drAttrValue)
drAttrValue = myAttribute.PIPoint.GetAttribute(PICommonPointAttributes.PointID)
Console.WriteLine("PIPoint Attribute '{0}' = '{1}'.", PICommonPointAttributes.PointID, drAttrValue)
drAttrValue = myAttribute.PIPoint.GetAttribute(PICommonPointAttributes.Descriptor)
Console.WriteLine("PIPoint Attribute '{0}' = '{1}'.", PICommonPointAttributes.Descriptor, drAttrValue)
drAttrValue = myAttribute.PIPoint.GetAttribute(PICommonPointAttributes.ExtendedDescriptor)
Console.WriteLine("PIPoint Attribute '{0}' = '{1}'.", PICommonPointAttributes.ExtendedDescriptor, drAttrValue)
drAttrValue = myAttribute.PIPoint.GetAttribute(PICommonPointAttributes.CreationDate)
Console.WriteLine("PIPoint Attribute '{0}' = '{1}'.", PICommonPointAttributes.CreationDate, drAttrValue)
Console.WriteLine()

' Set PIPoint Attribute value
Dim newAttrValue As String = ("New Value: " + DateTime.Now.ToShortTimeString)
myAttribute.PIPoint.SetAttribute(PICommonPointAttributes.Descriptor, newAttrValue)
myAttribute.PIPoint.SetAttribute(PICommonPointAttributes.ExtendedDescriptor, newAttrValue)
Dim errors As AFErrors(Of String) = myAttribute.PIPoint.SaveAttributes(PICommonPointAttributes.Descriptor,
                                                                       PICommonPointAttributes.ExtendedDescriptor)
If errors IsNot Nothing AndAlso errors.HasErrors Then
    Console.WriteLine("Errors calling PIPoint.SaveAttributes:")
    For Each item As KeyValuePair(Of String, Exception) In errors.Errors
        Console.WriteLine("  {0}: {1}", item.Key, item.Value)
    Next
End If

No code example is currently available or this language may not be supported.

No code example is currently available or this language may not be supported.

Version Information

AFSDK


See Also

In This Topic
Related Links
TitleResults for “How to create a CRG?”Also Available in