PIPoint.LoadAttributes Method
- Last UpdatedNov 18, 2025
- 5 minute read
- PI System
- AF SDK 2024 R2
- Developer
Load PIPoint attributes into the cache.
Namespace: OSIsoft.AF.PI
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
public void LoadAttributes( params string[] names )
Public Sub LoadAttributes ( ParamArray names As String() ) Dim instance As PIPoint Dim names As String() instance.LoadAttributes(names)
public: void LoadAttributes( ... array<String^>^ names )
member LoadAttributes : names : string[] -> unit
Parameters
- names
- Type: SystemString
The list of PIPoint attribute names to be loaded. The PICommonPointAttributes class contains some of the common PIPoint attribute names. If or an empty list, then all PIPoint attributes will be loaded.
Remarks
The PIPoint attribute values for the specified list of attributes are loaded from the
server into the client's cache. After loading, the GetAttribute(String)
method can be used to read the PIPoint attribute value. When the
PIPoint attributes are no longer needed, the
UnloadAttributes(String) method or the
UnloadAllAttributes(String) method can be called
to remove the PIPoint attributes from the cache and free memory.
Beginning in AF 2.6, the LoadAttributes method will not unload previously loaded
PIPoint attributes. If multiple PIPoints are being accessed, use the bulk call
PIPointList.LoadAttributes
for improved performance.
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.