PIPoint.RecordedValues Method
- Last UpdatedNov 18, 2025
- 5 minute read
- PI System
- AF SDK 2024 R2
- Developer
Namespace: OSIsoft.AF.PI
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
public AFValues RecordedValues( AFTimeRange timeRange, AFBoundaryType boundaryType, string filterExpression, bool includeFilteredValues, int maxCount = 0 )
Public Function RecordedValues ( timeRange As AFTimeRange, boundaryType As AFBoundaryType, filterExpression As String, includeFilteredValues As Boolean, Optional maxCount As Integer = 0 ) As AFValues Dim instance As PIPoint Dim timeRange As AFTimeRange Dim boundaryType As AFBoundaryType Dim filterExpression As String Dim includeFilteredValues As Boolean Dim maxCount As Integer Dim returnValue As AFValues returnValue = instance.RecordedValues(timeRange, boundaryType, filterExpression, includeFilteredValues, maxCount)
public: AFValues^ RecordedValues( AFTimeRange timeRange, AFBoundaryType boundaryType, String^ filterExpression, bool includeFilteredValues, int maxCount = 0 )
member RecordedValues : timeRange : AFTimeRange * boundaryType : AFBoundaryType * filterExpression : string * includeFilteredValues : bool * ?maxCount : int (* Defaults: let _maxCount = defaultArg maxCount 0 *) -> AFValues
Parameters
- timeRange
- Type: OSIsoft.AF.TimeAFTimeRange
The bounding time range for the recorded values request. If the StartTime is earlier than the EndTime, the resulting values will be in time-ascending order, otherwise they will be in time-descending order. - boundaryType
- Type: OSIsoft.AF.DataAFBoundaryType
A value from the AFBoundaryType enumeration that determines how the times and values of the returned end points are determined. - filterExpression
- Type: SystemString
A filter expression that follows the performance equation syntax. - includeFilteredValues
- Type: SystemBoolean
Specify to indicate that values which fail the filter criteria are present in the returned data at the times where they occurred with a value set to a "Filtered" enumeration value with bad status. Repeated consecutive failures are omitted. - maxCount (Optional)
- Type: SystemInt32
The maximum number of values to be returned. If zero, then all of the events within the requested time range will be returned. When the maximum number of values is exceeded, if the timeRange provided has the start time before the end time, the earliest events are returned; if the start time is later than the end time, the latest events are returned
Return Value
Type: AFValuesReturns an AFValues collection with the recorded values.
Exceptions
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | maxCount cannot be less than zero. |
| PIException | Error returned by the PI Data Archive. |
Remarks
Returned times are affected by the specified boundaryType. If no values are found for the time range and conditions specified then the method will return success and an empty AFValues collection.
When specifying for the includeFilteredValues parameter, consecutive filtered events are not returned. The first value that would be filtered out is returned with its time and the enumeration value "Filtered". The next value in the collection will be the next compressed value in the specified direction that passes the filter criteria - if any.
When both boundaryType and a filterExpression are specified, the events returned for the boundary condition specified are passed through the filter. If the includeFilteredValues parameter is , the boundary values will be reported at the proper time stamps with the enumeration value "Filtered" when the filter conditions are not met at the boundary time. If the includeFilteredValues parameter is for this case, no event is returned for the boundary time.
The PI Data Archive imposes a limit on the maximum number of events that can be returned with a single call. As of PI 3.4.380, the default is set at 1.5M. This behavior can be changed on the server by editing the server's PITimeout table and adding or editing the value associated with the parameter ArcMaxCollect. When a PI Point is queried over a time range which includes the current source server time, where the latest known value is before the server current time, a manufactured event containing an Enumeration Value with the bad value NoData, will be placed in the results at a time stamp one second past the current server time for boundary types Interpolated and Outside. This is provided to assist the caller in further interpolation of the results. Specifying a boundary type of Inside indicates that no interpolation is desired and this manufactured value is not provided for that case. The NoData will be reflected into any dependent calculation based Data References. |
| This method, property, or class is not available in the legacy .NET 3.5 version of the SDK. |