PIPoint.GetAttribute Method
- Last UpdatedNov 18, 2025
- 5 minute read
- PI System
- AF SDK 2024 R2
- Developer
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: ObjectReturns the value of the PIPoint attribute for the specified name.
Exceptions
| Exception | Condition |
|---|---|
| KeyNotFoundException | This exception is thrown when the specified name is not found in the cache of loaded PIPoint attributes. |
Remarks
Before a PIPoint attribute value can be returned, it must first be loaded using
the LoadAttributes(String) method.
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.