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

AVEVA Pipeline Operations for Liquids

Pipeline Flow Network Unified Object Model (UOM) Business Logic Tiers (BLTs)

Pipeline Flow Network Unified Object Model (UOM) Business Logic Tiers (BLTs)

  • Last UpdatedApr 24, 2025
  • 8 minute read

The Pipeline Flow Network Unified Object Model (UOM) Business Logic Tiers (BLTs) are used to create JSON files containing Flow Network models that can be loaded into the RealTime database (RTDB).

Flow Network models are configured by Administrators using AVEVA Process Simulation and the SimConstruct Integrated Development tool. For more information on configuring Flow Network models, refer to the AVEVA Pipeline Operations for Liquids Administrator Guide documentation.

Note: AVEVA Process Simulation and the SimConstruct Integrated Development tool are separately licensed AVEVA products.

The LoadUnifiedObjectModelProxy BLT enables SimConstruct to produce a JSON file containing all of the information related to a pipeline created within AVEVA Process Simulation. This BLT de-serializes the JSON file created by SimConstruct and generates a file on the destination system. The file generated on the destination system is loaded into the RTDB using the LoadUnifiedObjectModel BLT.

Note: Administrators can manually enter information related to a Flow Network model in the JSON file.

LoadUnifiedObjectModelProxy BLT

The following table details the input parameters for the LoadUnifiedObjectModelProxy BLT.

Argument

Required?

Parameter Type

Description

JSON

Yes

String

The content of the JSON file. Example content is shown in the JSON File Structure section below.

Dataset

No

String

This is the name of the dataset the Administrator would like the Flow Network to use once created (for example, Global).

Notes: If the Flow Network exists, the dataset that is currently configured is used.

If a Dataset is not specified, the BLT chooses a Dataset in the destination system based on the RTDB configuration.

Verbose

No

Boolean

The setting that determines the amount of information recorded during the generation of the JSON file.

LoadUnifiedObjectModel BLT

The following table details the input parameters for the LoadUnifiedObjectModel BLT.

Argument

Required?

Parameter Type

Description

JSON

Yes

String

The content of the JSON file. Example content is shown in the JSON File Structure section below.

Dataset

No

String

This is the name of the dataset the Administrator would like the Flow Network to use once created (for example, Global).

Notes: If the Flow Network exists, the dataset that is currently configured is used.

If a Dataset is not specified, the BLT chooses a Dataset in the destination system based on the RTDB configuration.

JSON File Structure:

The following example describes the structure of a Pipeline Flow Network UOM JSON file.

{

"name":"ParentNetwork",

"devices": [],

"connections": [],

"nestedNetworks":[

"name": "NestedNetwork",

"devices": [],

"connections": []

]

}

The Pipeline Flow Network UOM JSON file is made up of devices, connections, and nestedNetworks.

Devices describe equipment and define the flow within the pipeline network model. Devices are described using the following JSON elements:

  • name (required)

  • equipmentType (required)

  • subType (optional)

  • direction (optional)

The following table describes how the LoadUnifiedObjectModel BLT maps Pipeline Flow Network devices from the provided JSON Type to an OASyS Real Time database (RTDB) object.

Note: The From JSON Type values listed in the table are equipmentType elements unless otherwise documented.

From JSON Type

Description

Mapping in the RTDB

Pump

Defines a transport mechanism within pipeline network.

When a pump is listed, the BLT will attempt to do the following:

  1. Create a Flow Network device in the new Flow Network Model. If a device already exists, it will be deleted and recreated.

  2. Map the newly created Flow Network device to a Pump with the same name in the RTDB.

    1. If the Pump does not exist, but a status/multistate point with the same name is found in the RTDB, the BLT will create a Pump and attach it to the status/multistate point.

    2. If the Pump and the status/multistate point do not exist in the RTDB, the BLT will return an error. In this case, the Flow Network model including newly created Flow Network devices will not be saved.

Pump

Valve

ValMan

Defines a flow control point within the flow network.

When a valve is listed, the BLT will attempt to do the following:

  1. Create a Flow Network device in the new Flow Network Model. If a device already exists, it will be deleted and recreated.

  2. Map the newly created Flow Network device to a Valve with the same name in the RTDB.

    1. If the Valve does not exist, but a status/multistate point with the same name is found in the RTDB, the BLT will create a Valve and attach it to the status/multistate point.

    2. If the Valve and the status/multistate point do not exist in the RTDB, the BLT will return an error. In this case, the Flow Network model including newly created Flow Network devices will not be saved.

    Note: Use the value ValMan to define a manual valve.

    Valve

    Check

    Pipe

    Defines a segment between two nodes.

    A pipe has an unrestricted flow direction.

    A check valve has a right-only restricted flow direction.

    Segment

    Tank

    Defines a storage receptacle within the flow network.

    When a tank is listed, the BLT will attempt to do the following:

    1. Create a Flow Network device in the new Flow Network Model. If a device already exists, it will be deleted and recreated.

    2. Map the newly created Flow Network device to a Tank with the same name in the RTDB.

      1. If the Tank does not exist in the RTDB, the BLT will return an error. In this case, the Flow Network model including newly created Flow Network Devices will not be saved.

      Tank

      Node

      Defines a point where the pipeline network flow splits or merges. When a node is listed, the BLT will create a new Flow Network node.

      Node

      Transmitter

      Subtype Values:

      temperature

      flowrate

      pressure

      level

      concentration

      detector

      diff_pressure

      flow

      flowvolu

      misc

      Defines transmitter equipment in the current Flow Network.

      When a transmitter is listed, the BLT will attempt to do the following:

      1. Create a Flow Network device in the new Flow Network model. If a device already exists, it will be deleted and recreated.

      2. Map the newly created Flow Network device to an Analog with the same name in the RTDB.

        1. If the Analog does not exist in the RTDB, the BLT will return an error. In this case, the Flow Network model including newly created Flow Network Devices will not be saved.

        Notes: When the Transmitter type is directly attached to equipment or nodes (that is, without intermediate segments), it requires a connection type of "Meter". Otherwise, it requires a connection type of "Standard".

        Because there are multiple transmitter types, Element subtypes are supported. If the subtype element is not provided, the transmitter will be created with the type misc by default.

        Transmitter

        PointOfInterest

        Defines a point of interest within the Flow Network.

        The point of interest is used to specify a location in the Flow Network where logic can be executed by different applications.

        For example, a point of interest can be used to specify a location that the Line Blockage application can use to perform automatic pump shutdown for all pumps upstream of this location. For more information, refer to the AVEVA Pipeline Operations for Liquids Administrator Guide documentation.

        When a PointOfInterest (POI) is listed, the BLT will do the following:

        1. Create a Flow Network device in the new Flow Network model. If a device already exists, it will be deleted and recreated.

        2. Map the newly created Flow Network device to a POI with the same name in the RTDB.

          1. If the POI does not exist, but a status/multistate point with the same name is found in the RTDB, the BLT will create a POI and attach it to the status/multistate point.

          2. If the POI and the status/multistate point do not exist in the RTDB, the BLT will return an error. In this case, the Flow Network model including newly created Flow Network devices will not be saved.

          Note: Because PointOfInterest is directly attached to equipment or nodes (that is, without intermediate segments), it requires a connection type of "Meter"

          POI

          Station

          Defines a nested Flow Network composed of a collection of devices and connections. Stations included as devices define nested pipeline Flow Networks within a parent pipeline Flow Network.

          When a station is listed, the BLT will attempt to do the following:

          1. Create a Flow Network device in the new Flow Network model. If a device already exists, it will be deleted and recreated.

          2. Map the newly created Flow Network device to a Station with the same name in the RTDB.

            1. If the station does not exist in the RTDB, the BLT will report a warning. In this case, the Flow Network model including newly created Flow Network devices will be saved successfully.

            Note: The device name in the parent network and the nested network name have to be the same to generate a nested network.

            Nested Network

            Boundary

            BranchEnd

            BranchStart

            Defines the boundaries of the pipeline within the parent Flow Network.

            Note: A boundary cannot appear in a nested network.

            Network Outlet

            Inlet

            Outlet

            Defines the boundaries of a station.

            Note: A station boundary must appear in a nested network.

            Network Outlet

            Injection

            Subtype Value:

            NetworkConnection

            Direction Values:

            Injection

            Delivery

            Defines an interconnection between the current Flow Network and an external Flow Network. The combined Flow Networks are defined as a "MegaNetwork".

            For interconnects, a NetworkConnection subtype element must be specified for the Injection device type.

            The Direction element is also required. For interconnects, Direction supports type values of Injection or Delivery.

            Notes: An Interconnect is defined at the station or nested network level only.

            An Interconnect device can only be used to connect one pair of Flow Networks. Attempting to use the same Interconnect in multiple connections will result in an error when loading the model.

            Also, due to the specific device pattern required in AVEVA™ Process Simulation to declare an interconnection, every device between the "Outlet" and the "Injection" device in the JSON file will be converted to just one "Interconnect" device in the RTDB.

            Interconnect

            Injection

            Defines a meter device in the Flow Network.

            Note: Any injection device not complying with the interconnect rule will be imported as a meter.

            Meter

            Connections describe the topology of devices within flow networks. Connections are defined using the following JSON elements:

            • from (required)

            • to (required)

            • connectionType (required)

            The following table describes the two connection types in the JSON file and how the LoadUnifiedObjectModel BLT maps these types from the provided JSON Type to an OASyS RTDB object.

            From JSON Type

            Description

            Mapping in the RTDB

            Standard

            Defines elements that describe the topology of the pipeline Flow Network model.

            The from value consists of the device name where the connection starts.

            The to value consists of the device name where the connection ends.

            Connections between the from and to devices generate segments in the RTDB Flow Network.

            Segment

            Meter

            Defines connections that attach equipment directly to nodes without the need to generate intermediate segments.

            For example, when using Transmitter and PointOfInterest JSON types, a connection type of Meter must be used.

            No mapping required

            Example JSON File:

            The following example shows a valid JSON file that can be loaded using the LoadUnifiedObjectModel BLT.

            Note: The only way to load this data is to use a tool like BLTTestClient or create a tool to leverage the BLT client.

            {

            "name": "Line_20",

            "devices": [

            {

            "name": "line_20_start",

            "equipmentType": "BranchStart"

            },

            {

            "name": "KL20",

            "equipmentType": "Station"

            },

            {

            "name": "PI1",

            "equipmentType": "Pipe"

            },

            {

            "name": "line_20_end",

            "equipmentType": "BranchEnd"

            }

            ],

            "connections": [

            {

            "name": "S1",

            "from": "line_20_start",

            "to": "KL20",

            "connectionType": "Standard"

            },

            {

            "name": "S2",

            "from": "KL20",

            "to": "PI1",

            "connectionType": "Standard"

            },

            {

            "name": "S3",

            "from": "PI1",

            "to": "line_20_end",

            "connectionType": "Standard"

            }

            ],

            "nestedNetworks": [

            {

            "name": "KL20",

            "devices": [

            {

            "name": "i1",

            "equipmentType": "Inlet"

            },

            {

            "name": "C1",

            "equipmentType": "Check"

            },

            {

            "name": "KL20_V1",

            "equipmentType": "Valve"

            },

            {

            "name": "n1",

            "equipmentType": "Node"

            },

            {

            "name": "poi",

            "equipmentType": "PointOfInterest"

            },

            {

            "name": "KL20_dis",

            "equipmentType": "Outlet"

            },

            {

            "name": "C2",

            "equipmentType": "Check"

            },

            {

            "name": "to_KL45_from_KL20",

            "equipmentType": "Node"

            },

            {

            "name": "KL20_KL45_MV",

            "equipmentType": "ValMan"

            },

            {

            "name": "to_KL45_from_KL20_TL",

            "equipmentType": "Injection",

            "subType": "NetworkConnection",

            "direction": "DELIVERY"

            }

            ],

            "connections": [

            {

            "name": "S1",

            "from": "i1",

            "to": "C1",

            "connectionType": "Standard"

            },

            {

            "name": "S2",

            "from": "C1",

            "to": "KL20_V1",

            "connectionType": "Standard"

            },

            {

            "name": "S3",

            "from": "KL20_V1",

            "to": "n1",

            "connectionType": "Standard"

            },

            {

            "name": "MS1",

            "from": "poi",

            "to": "n1",

            "connectionType": "Meter"

            },

            {

            "name": "S4",

            "from": "n1",

            "to": "KL20_dis",

            "connectionType": "Standard"

            },

            {

            "name": "S5",

            "from": "KL20_dis",

            "to": "C2",

            "connectionType": "Standard"

            },

            {

            "name": "S6",

            "from": "C2",

            "to": "to_KL45_from_KL20",

            "connectionType": "Standard"

            },

            {

            "name": "S7",

            "from": "to_KL45_from_KL20",

            "to": "KL20_KL45_MV",

            "connectionType": "Standard"

            },

            {

            "name": "S8",

            "from": "KL20_KL45_MV",

            "to": "to_KL45_from_KL20_TL",

            "connectionType": "Standard"

            }

            ],

            "nestedNetworks": []

            }

            ]

            }

            In This Topic