Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

OMF with PI Web API

Migration considerations

  • Last UpdatedSep 04, 2025
  • 3 minute read

PI Web API 2019 SP1 adds support for OMF simple type messages and limited OMF migration support. If you are migrating from a previous version of OMF to PI Web API 2019 SP1, you should be aware of the following:

  • OMF resources may have their PI AF or Data Archive representation changed.

  • Existing PI AF or Data Archive resources that were not created using OMF may be migrated.

  • When a CREATE CONTAINER message is received, if the container already exists, it will be migrated.

    Simple versus Complex Dynamic Type Messages

    The following table shows a result comparison between simple and complex type messages:

    Comparison Detail

    Simple dynamic type

    Complex dynamic type

    Type message

    [
    {
    "id": " simple-dynamic-type1",
    "version": "1.0.0.0",
    "type": "object",
    "classification": "dynamic",
    "properties":
    { "time":
    { "type": "string",
    "format": "date-time",
    "isindex": true
    },
    "attribute1":
    { "type": "string"
    }
    }
    }
    ]

    [
    {
    "id": " complex-dynamic-type1",
    "version": "1.0.0.0",
    "type": "object",
    "classification": "dynamic",
    "properties":
    { "time":
    { "type": "string",
    "format": "date-time",
    "isindex": true
    },
    "attribute1":
    { "type": "string"
    },
    "attribute2":
    { "type": "string"
    }
    }
    }
    ]

    Container created

    [{ "id": " simple-container1", "typeid": " simple-dynamic-type1" }]

    [{ "id": " complex-container1", "typeid": " complex-dynamic-type1" }]

    PI Points created in version 2019

    simple-container1.attribute1

    complex-container1.attribute1

    complex-container1.attribute2

    PI Points created in version 2019 SP1

    simple-container1

    complex-container1.attribute1

    complex-container1.attribute2

The difference between how PI points were created affects how they will be migrated to PI Web API 2019 SP1. PI points are grouped in the following categories for migration:

  • PI points created by OMF (PI Web API 2019 and 2019 SP1) contain valid Point Source and Extended Descriptor attributes.

  • PI points that were not created by OMF have an Extended Descriptor attribute that PI Web API cannot parse.

For PI points created using OMF (PI Web API 2019) from containers created by simple dynamic type messages, the PI points are renamed from simple-container1.attribute1 to simple-container1.

For PI points created using OMF (PI Web API 2019), but not from containers created by simple dynamic type messages, and for PI points not created using OMF, the PI point attributes are overwritten.

PI Web API 2019 SP1 adds the following key/value pair to the PI point Extended Descriptor attribute: OmfSchemaVersion=1 to identify the schema version of OMF used to create the PI point. If you send a container message for PI points created by PI Web API 2019 after migrating to PI Web API 2019 SP1, the Extended Descriptor attribute is updated to include OmfSchemaVersion=1.

PI Asset Framework determines whether existing point type conversion is possible. PI Web API does not check for any potential issues.

PI Web API 2019 did not store the container description. PI Web API 2019 SP1 stores the container description in the Descriptor attribute for all PI points that are created by container. This change affects migration by overwriting any existing point descriptor with the container description field, or by removing current point descriptor if the container description is omitted.

For all PI points migrated to or created by PI Web API 2019 SP1, the Descriptor attribute is validated as a part of the Create Container messages, checking for point equivalence. If a container does not have a description field, PI points overwritten by this container will have an empty Descriptor attribute.

TitleResults for “How to create a CRG?”Also Available in