Click or drag to resize
OSIsoft, LLC

AFDataRecordedValues Method

Returns a list of compressed values for the requested time range from the source provider.

Namespace:  OSIsoft.AF.Data
Assembly:  OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version:
public AFValues RecordedValues(
	AFTimeRange timeRange,
	AFBoundaryType boundaryType,
	UOM desiredUOM,
	string filterExpression,
	bool includeFilteredValues,
	int maxCount = 0


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.
Type: OSIsoft.AF.DataAFBoundaryType
A value from the AFBoundaryType enumeration that determines how the times and values of the returned end points are determined.
Type: OSIsoft.AF.UnitsOfMeasureUOM
The desired unit of measure for the returned values. If , then the values are returned in the unit of measure specified by the associated attribute's DefaultUOM property.
Type: SystemString
A string containing a filter expression. Expression variables are relative to the attribute. Use '.' to reference the containing attribute. A or empty string indicates no filtering. If the attribute does not support the Filters option, the filter will be ignored.
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.

Return Value

Type: AFValues
Returns an AFValues collection with the recorded values.
NotSupportedException The data reference does not support the this method, or the configured data reference does not support filter expressions and one was provided.
ArgumentOutOfRangeExceptionmaxCount cannot be less than zero.

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 timestamps 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.

Note Note

For the PI Point Data Reference: 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 timestamp 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.

Note Notes to Callers
This method, property, or class is only available in the .NET 4 version of the SDK.

Security note Security Note
You must have ReadData security rights to read a data value.

Version Information


Supported in: 2.10.5, 2.10, 2.9.5, 2.9, 2.8.5, 2.8, 2.7.5, 2.7, 2.6, 2.5
See Also
Enabling Operational Intelligence