2021 SP1 - Detailed Changes (PI Web API OMF Services)
- Last UpdatedJun 15, 2023
- 8 minute read
- PI System
- PI Web API Reference
- Developer
Expanded Feature: OMF version 1.2
PI Web API 2021 SP1 extends the partial support for version 1.2 of the OMF specification introduced in PI Web API 2021.
Support for the following OMF v1.2 features has been added:
- The
TYPEmessageextrapolationproperty. - The
TYPEpropertyinterpolationproperty. - The
CONTAINERmessageextrapolationproperty. -
The following
CONTAINERmessagepropertyOverridesproperties:interpolation
-
Partial support for the
DATAmessagepropertiesproperty.- Currently, the PI Web API only supports the
propertiesproperty in combination with atypeid. Thetypeidcannot be omitted. When used, any additional properties added via thepropertieskeyword will extend the specifiedTYPE.
- Currently, the PI Web API only supports the
The following OMF v1.2 features are not yet supported by the PI Web API:
- The
TYPEmessagebaseTypeIdproperty. - Non-
ENUM TYPEmessages that omit theclassificationproperty. - The
CONTAINERmessagemetadataandtagsproperties. -
The following
CONTAINERmessagepropertyOverridesproperties:namedescription
- Type-to-type
LINKmessages.
New Concept: Interpolation and Extrapolation Modes
PI Web API 2021 SP1 introduces support for the interpolation and extrapolation keywords in version 1.2 of the OMF
specification. These keywords are used to control how data queries against the backend store should behave. The
interpolation mode is used by the PI Web API to control the PI Point Step attribute value. The extrapolation mode
is stored by the PI Web API, but is not used by the PI System.
For information on how the Step attribute value is calculated, see the section titled "PI Point Schema Version 3".
New Concept: Non-TYPE-Derived Properties
PI Web API 2021 SP1 introduces support for the DATA message properties keyword added in OMF version 1.2. The
properties keyword allows a DATA message to define additional properties that will be used when storing a value.
These properties support all the same features as a property defined as part of a TYPE, including the
reftypeid, minimum, and maximum keywords. When the properties keyword appears
alongside a typeid, any additional properties must be additive to the specified TYPE, and
they must not overlap.
The PI Web API currently requires that a typeid be specified when using the properties keyword, even though the OMF
specification does not make this requirement. This is because the PI Web API retrieves STATIC DATA
instances by performing attribute value searches, and the backing AF Server may not support attribute value searches
without specifying an AF Element Template. The PI Web API also requires that any additional properties are
non-system properties: they must not have the isName, isIndex, or isQuality
keywords set to true.
Breaking Change: Interpolation Mode
The interpolation keyword is used by the PI Web API to control the PI Point Step attribute value. In earlier PI Web
API versions, a default interpolation mode was always used. Under certain conditions, the interpolation mode would be
written to the PI Point extended descriptor; however, because interpolation mode was only used internally, these
conditions could not be met when using the PI Web API. With the release of PI Web API 2021 SP1, the interpolation mode
can now be controlled by the client OMF application. Interpolation modes in the extended descriptor of PI Points
using earlier schema versions will now be ignored for migration purposes.
If your application does not directly read the interpolation mode from PI Point extended descriptors, you are not affected by this change. This covers applications that only use OMF. If your application does read the interpolation mode, your application must be updated to use PI Point schema version 3.
Breaking Change: PI Point Schema Version 3
As part of PI Web API 2019 SP1's resource migration support, the concept of schema versions was introduced. Schema
versions describe the structure of PI System resources that are created or interacted with by the PI Web API; schema
versions are not part of the OMF specification. PI Web API 2021 SP1 introduces a new PI Point schema version: schema
version 3. Schema version 3 introduces greater control over PI Points created using OMF, and supports new OMF features
such as interpolation and extrapolation.
PI Points will automatically be upgraded to schema version 3 when a CREATE CONTAINER or
UPDATE CONTAINER message is received. PI Points are upgraded to schema version 3 regardless of the version
of OMF being used. OMF client application behavior is not impacted; no changes are required. PI System applications may
experience changes in behavior (ex. value queries returning different results due to the PI Point Step attribute); for
this reason, this change is considered a breaking change.
Each PI Point maps to a value property on the TYPE used by a CONTAINER. PI Point attributes
are mapped using schema version 3 as follows:
| PI Point Attribute | OMF Mapping | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Name (AKA Tag) |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Descriptor | The CONTAINER's description. If the CONTAINER does not have a description, this attribute is not set. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Point Source |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Point Type |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Digital Set Name |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Eng Units |
In order of precedence,
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Zero |
In order of precedence,
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Span |
In order of precedence,
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Step |
In order of precedence,
interpolation modes defined by the OMF specification are mapped to Step values as:
interpolation and property type and format are ignored.
type and format combinations do not support interpolation, and will override any specified interpolation:
interpolation is specified, if reftypeid is being used, the default Step value is 1. Otherwise, the default Step value will be:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Extended Descriptor | The extended descriptor is reserved for internal PI Web API use. |
Non-Breaking Change: Event Names
Some existing events have been renamed for readability.
| Old Name | New Name |
|---|---|
| ElementContainsUnrecognizedOmfAttribute | ElementContainsUnknownExtensionAttribute |
| SpecifiedOverrideIsNotValidForProperty | SpecifiedOverridesAreNotValidForProperty |
| TypeDoesNotHavePropertyWithSpecifiedIndex | PropertyWithSpecifiedIndexNotFound |
Informational: Migrating from Prior PI Web API Versions
AF Attributes Created Via LINK Messages
If a minimum or maximum override is added to a CONTAINER while the PI Web API is being upgraded from 2021 to 2021
SP1, existing AF Attributes created via LINK messages may incorrectly have the minimum and maximum
added as child attributes, rather than emit a mismatch event.
Schema Changes
Types
- The
interpolationfield will appear as a child AF Attribute Template. - The
extrapolationfield will appear as an extended property of the AF Element Template.
Containers
- PI Point Step attribute now contains a value derived from
OmfPropertyInterpolationMode. -
PI Point Extended Descriptor attribute changes:
- The value associated with the
OmfSchemaVersionkey has been changed to to3. - The
OmfPropertyInterpolationkey may now be present. When present, it indicates the interpolation mode this property is expected to use. When not present, it indicates no explicit interpolation mode was specified. Allowed values are:Continuous- Indicates that the property is using thecontinuousinterpolation mode.Discrete- Indicates that the property is using thediscreteinterpolation mode.StepwiseContinuousLeading- Indicates that the property is using thestepwisecontinuousleadinginterpolation mode.StepwiseContinuousFollowing- Indicates that the property is using thestepwisecontinuousfollowinginterpolation mode.
-
The
OmfContainerExtrapolationModekey may now be present. When present, it indicates the extrapolation mode this property is expected to use. When not present, it indicates no explicit extrapolation mode was specified. Allowed values are:All- Indicates that the property is using theallextrapolation mode.None- Indicates that the property is using thenoneextrapolation mode.Forward- Indicates that the property is using theforwardextrapolation mode.Backward- Indicates that the property is using thebackwardextrapolation mode.
- The value associated with the
- When reading a PI Point using schema version
2, the PI Web API will ignore theOmfPropertyInterpolationkey if it is present.
Data
-
Non-
TYPE-derived properties will appear as AF Attributes.- If a non-
TYPE-derived property has aminimum,maximum, orinterpolation, it will be stored as child AF Attributes in the same manner as aTYPE-derived property.
- If a non-
- When creating a
LINKwhere a target PI Point has an Engineering Units attribute whose value does not correspond to an AF UOM, an AF Attribute will be created without a UOM.