PIPoint.GetAttribute Method
- Last UpdatedJan 12, 2026
- 3 minute read
- PI System
- AF SDK 3.2.0
- Developer
Get the value of a PIPoint attribute by name.
Namespace: OSIsoft.AF.PI
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.2.0.7
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); } }