SPAdapter SPPID

Download as pdf or txt
Download as pdf or txt
You are on page 1of 116

SmartPlant Enterprise

SmartPlant Adapter for SmartPlant P&ID

Version 2009 R4

August 2012

DSPF1-PE-200083D
Copyright
Copyright © 2008 - 2012 Intergraph Corporation. All Rights Reserved.
Including software, file formats, and audiovisual displays; may be used pursuant to applicable software license agreement;
contains confidential and proprietary information of Intergraph and/or third parties which is protected by copyright law, trade
secret law, and international treaty, and may not be provided or otherwise made available without proper authorization from
Intergraph Corporation.
U.S. Government Restricted Rights Legend
Use, duplication, or disclosure by the government is subject to restrictions as set forth below. For civilian agencies: This was
developed at private expense and is "restricted computer software" submitted with restricted rights in accordance with
subparagraphs (a) through (d) of the Commercial Computer Software - Restricted Rights clause at 52.227-19 of the Federal
Acquisition Regulations ("FAR") and its successors, and is unpublished and all rights are reserved under the copyright laws of
the United States. For units of the Department of Defense ("DoD"): This is "commercial computer software" as defined at DFARS
252.227-7014 and the rights of the Government are as specified at DFARS 227.7202-3.
Unpublished - rights reserved under the copyright laws of the United States.
Intergraph Corporation
P.O. Box 240000
Huntsville, AL 35813
Terms of Use
Use of this software product is subject to the End User License Agreement ("EULA") delivered with this software product unless
the licensee has a valid signed license for this software product with Intergraph Corporation. If the licensee has a valid signed
license for this software product with Intergraph Corporation, the valid signed license shall take precedence and govern the use
of this software product. Subject to the terms contained within the applicable license agreement, Intergraph Corporation gives
licensee permission to print a reasonable number of copies of the documentation as defined in the applicable license agreement
and delivered with the software product for licensee's internal, non-commercial use. The documentation may not be printed for
resale or redistribution.
Warranties and Liabilities
All warranties given by Intergraph Corporation about equipment or software are set forth in the EULA provided with the software
or applicable license for the software product signed by Intergraph Corporation, and nothing stated in, or implied by, this
document or its contents shall be considered or deemed a modification or amendment of such warranties. Intergraph believes
the information in this publication is accurate as of its publication date.
The information and the software discussed in this document are subject to change without notice and are subject to applicable
technical product descriptions. Intergraph Corporation is not responsible for any error that may appear in this document.
The software discussed in this document is furnished under a license and may be used or copied only in accordance with the
terms of this license. No responsibility is assumed by Intergraph for the use or reliability of software on equipment that is not
supplied by Intergraph or its affiliated companies. THE USER OF THE SOFTWARE IS EXPECTED TO MAKE THE FINAL
EVALUATION AS TO THE USEFULNESS OF THE SOFTWARE IN HIS OWN ENVIRONMENT.
Intergraph is not responsible for the accuracy of delivered data including, but not limited to, catalog, reference and symbol data.
Users should verify for themselves that the data is accurate and suitable for their project work.
Trademarks
Intergraph, the Intergraph logo, PDS, SmartPlant, SmartMarine, FrameWorks, I-Convert, I-Export, I-Sketch, IntelliShip, INtools,
ISOGEN, MARIAN, SmartSketch, SPOOLGEN, SupportManager, and SupportModeler are trademarks or registered trademarks
of Intergraph Corporation or its subsidiaries in the United States and other countries. Microsoft and Windows are registered
trademarks of Microsoft Corporation. MicroStation is a registered trademark of Bentley Systems, Inc. Other brands and product
names are trademarks of their respective owners.
Contents
Preface .......................................................................................................................................................... 7

General Architecture ................................................................................................................................... 9

SmartPlant P&ID Publish-Retrieve Relationships .................................................................................. 11


Document Types ................................................................................................................................... 11
Document Type Configuration .............................................................................................................. 11
Publish .................................................................................................................................................. 12
Retrieve ................................................................................................................................................. 12
Limitations ............................................................................................................................................. 13

Data Transformation Logic ....................................................................................................................... 15


Tool Schema Data Model ..................................................................................................................... 15
Publish/Retrieve .................................................................................................................................... 16
Objects (Classes) ........................................................................................................................... 16
Properties ....................................................................................................................................... 19
Enums............................................................................................................................................. 20
UOMs.............................................................................................................................................. 22
Relationships .................................................................................................................................. 24

Property Data Conversions ...................................................................................................................... 25


Boolean to Enum (BoolToEnumConv.cls) ............................................................................................ 25
Component Flow Direction (CompFlowDirConv.cls) ............................................................................ 25
Enum Conversions (EnumConversions.cls) ......................................................................................... 26
Enum to Boolean (EnumToBoolConv.cls) ............................................................................................ 26
Enum to String (EnumToStringConv.cls) .............................................................................................. 26
Nominal Diameter (NominalDiameterConv.cls) .................................................................................... 26
Connection Point Flow Direction (PortFlowDirectionConv.cls) ............................................................. 26
Piping Connector Name (PpConnNameConv.cls) ................................................................................ 27
Tag Prefix (TagPrefixConv.cls) ............................................................................................................. 27
Uom to Double (UoMToDoubleConv.cls) ............................................................................................. 27
Uom to Enum UoMToEnumConv.cls) ................................................................................................... 27

Publish/Retrieve ........................................................................................................................................ 29
Publishing.............................................................................................................................................. 29
Special Cases ....................................................................................................................................... 30
Equipment ...................................................................................................................................... 30
Instrument ....................................................................................................................................... 31
PipeRun .......................................................................................................................................... 31
PipeLine .......................................................................................................................................... 32
Drawing .......................................................................................................................................... 32
Hierarchical Enum Lists .................................................................................................................. 33

Hard-Coded References............................................................................................................................ 35
Publishing Relationships ....................................................................................................................... 35
Retrieving .............................................................................................................................................. 36

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 3


Contents

Select Property Criteria ......................................................................................................................... 37


Special cases ........................................................................................................................................ 38
Instrument Loops ............................................................................................................................ 38

Publish Scope ............................................................................................................................................ 39

‘Virtual’ Objects ......................................................................................................................................... 41


Pipelines................................................................................................................................................ 41
Pipeline Key Attributes ................................................................................................................... 42
Publishing Pipelines ....................................................................................................................... 42
Tombstones .................................................................................................................................... 43

Correlation ................................................................................................................................................. 45
Special Cases ....................................................................................................................................... 45
Limitations ............................................................................................................................................. 46

‘Same As’.................................................................................................................................................... 47
Creation of SameAs .............................................................................................................................. 47
Classes ................................................................................................................................................. 47
Exceptions ............................................................................................................................................. 48

Retrieved Tasks ......................................................................................................................................... 49


General ................................................................................................................................................. 49
Symbols ................................................................................................................................................ 49
Retrieving Symbols ......................................................................................................................... 49
Adding Symbols .............................................................................................................................. 50
Instructions ............................................................................................................................................ 50
Delete Instruction............................................................................................................................ 50
Update Instruction .......................................................................................................................... 51
Resurrection Instruction.................................................................................................................. 51
Instruction Callbacks ...................................................................................................................... 51

Log Files ..................................................................................................................................................... 53


SPPIDEFLog.log ................................................................................................................................... 53
EFClient.log........................................................................................................................................... 53
EFCommonUI_DBG ............................................................................................................................. 53

Constructed UIDs ...................................................................................................................................... 55

Publish Modes ........................................................................................................................................... 57


Publish Now .......................................................................................................................................... 57
Background Publish .............................................................................................................................. 57
ToolBatch Publish ................................................................................................................................. 58

Satellites ..................................................................................................................................................... 59

SmartPlant P&ID Mapping Examples ...................................................................................................... 61


SmartPlant P&ID Example: Mapping a New String Property Starting in the Tool ................................ 61
SmartPlant P&ID Example: Mapping a New Complex Property Starting in the Tool ........................... 68

4 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


Contents

SmartPlant P&ID Example: Mapping Equipment Classes to Publish Process Data ............................ 77
SmartPlant P&ID Example: Mapping New Enumerated List Entries Starting in the
SmartPlant Schema .............................................................................................................................. 81

UML Diagrams for Published Schema for SmartPlant P&ID ................................................................. 93


PIDControlSystemFunction ................................................................................................................... 95
PIDDrawing ........................................................................................................................................... 96
PIDInlineInstrument .............................................................................................................................. 97
PIDInstrument ....................................................................................................................................... 98
PIDInstrumentLoop ............................................................................................................................... 99
PIDNote ................................................................................................................................................. 99
PIDNozzle ........................................................................................................................................... 100
PIDPipingComponent ......................................................................................................................... 101
PIDPipingConnector ........................................................................................................................... 102
PIDPipingPort...................................................................................................................................... 103
PIDRepresentation .............................................................................................................................. 103
PIDSignalConnector ........................................................................................................................... 104
PIDSignalPort...................................................................................................................................... 105
PIDPipeline ......................................................................................................................................... 106
PIDProcessEquipment ........................................................................................................................ 107
PIDMechanicalEquipment................................................................................................................... 108
PIDHeatTransferEquipment: ............................................................................................................... 109
PIDProcessVessel .............................................................................................................................. 110
PIDBranchPoint................................................................................................................................... 111
PIDPipingBranchPoint ........................................................................................................................ 112
PIDProcessPoint ................................................................................................................................. 113

Index ......................................................................................................................................................... 115

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 5


Contents

6 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION

Preface
This document describes details, functionality, and configuration of SmartPlant Adapter for
SmartPlant P&ID.
Send documentation comments or suggestions to [email protected].

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 7


Preface

8 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 1

General Architecture

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 9


General Architecture

10 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 2

SmartPlant P&ID Publish-Retrieve


Relationships

Document Types
 SmartPlant P&ID – PIDDrawing
 SmartPlant Electrical – ELEDocument
 SmartPlant Instrumentation – InstrumentIndex
 Aspen Basic Engineering – PFDDocument

Document Type Configuration


Document types for publishing and retrieving are configured in the Tool map schema under the
Tool Schema definitions:

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 11


SmartPlant P&ID Publish-Retrieve Relationships

IEFAdapter_GetRetrievableDocTypes – this function is used to define the supported doc types.


This function is optional and is switched with "Plug and Play" ability and has been externalized
to the SmartPlant Schema, by defining the doctypes under the ToolSchema Object. The
DocTypes entries reside in the SmartPlantPID_Meta.xml file.

Publish
Aspen Basic
P&ID SPEL SPI SP3D Engineering
P&ID
SmartPlant P&ID publishes generic documents so that they can be retrieved by all of the above
1
authoring tools .
The SmartPlant Adapter for SmartPlant P&ID supports publishing of all the MapClasses
contained in the SmartPlant P&ID Toolmap schema. There is a MapClass object in the tool
schema for each P&ID class (ItemType) that needs to be published. Every class and property
that is mapped in toolmap schema will be published by the adapter.
PropertyDefs objects in the tool schema must have a "MapPropertyToProperty" relationship with
the SmartPlant Schema object in order for the property to be updated and added to the
published container.

Retrieve
Aspen Basic
P&ID SPEL SPI SP3D Engineering
P&ID

SmartPlant P&ID can only retrieve from SmartPlant Instrumentation and Aspen Basic
2
Engineering .
The SmartPlant Adapter for SmartPlant P&ID adapter retrieves the following types of
documents:
 SmartPlant Instrumentation instrument Index
 Zyqad Equipment DataSheet.
 Zyqad PFD
Retrieve in P&ID is Interface based.
The incoming object is tested for an identifying interface to determine the type of retrieved
object.
For example:
 IProcessVesselOcc will identify a vessel object
 IPipingConnector will identify a piperun object
 IInstrumentOcc will identify an instrument object

12 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Publish-Retrieve Relationships

Limitations
 SmartPlant P&ID cannot retrieve graphic files.
 Any retrieved file has to follow the schema definitions rules and realize identifying interfaces.
For more details, see Retrieving (on page 36).
 The following four equipment classes -- Equipment Other, Exchanger, Mechanical, and
Vessel -- can be mapped to publish process data.

1
Any application can retrieve a SmartPlant P&ID document, as long as that application has its
own adapter which complies with the framework rules.
2
SmartPlant P&ID can retrieve data from any application (any document type) that creates an
XML which complies with the framework rules and the structure known to P&ID (identifying
interfaces and so forth).

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 13


SmartPlant P&ID Publish-Retrieve Relationships

14 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 3

Data Transformation Logic

Tool Schema Data Model


The diagram below shows a representation of the objects and relationships that are relevant to
the SmartPlant P&ID Tool Schema.

The rectangles on the left side of the diagram represent objects within the Tool Schema. The
rectangles on the right represent objects within the SmartPlant Schema. The relationships that
connect objects on the left with objects on the right are the mapping relationships. The map file
contains both the Tool Schema objects and the mapping relationships.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 15


Data Transformation Logic

Publish/Retrieve
Generally, transformation of published data is translated to a set of SmartPlant P&ID classes
and properties being traversed to a set of Tool schema ClassDefs which are traversed to a set
of InterfaceDefs to be published.
To put it into pseudo code:
1. Create class publishers – a collection of all ToolMap schema MapClassDefs.
2. Load – gather all the relevant SPItems related to the document being published. This is
done for each class Publisher.
3. If SPItems.count>0 then publish.
4. Publish – create an empty container by traversing the relevant ClassDef to a relevant
SmartPlant Schema object, and filling in all the realized interfaces.
5. Fill the container with properties and their data.

Objects (Classes)
In general, there is a MapClass object in the tool schema for each SmartPlant P&ID class
(ItemType) that needs to be published or retrieved.
ClassDef objects (ToolMap) hold the progID of the relevant SmartPlant Adapter publisher class
which processes and performs the logic for it and its corresponding itemtype in SmartPlant
P&ID.
This publisher class gathers all relevant SPItems for that itemtype related to the published
drawing.
You can view the properties and relationships for a MapClass in the Edit Map Class Definition
dialog box.

General
Property Value
UID Must be unique. No other special requirements.
Name The internal name of the SmartPlant P&ID class (ItemType).
Required.

16 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


Data Transformation Logic

Property Value
Process Criteria This property must be filled in for this MapClass to be used. The
format for this property is a comma delimited list of fields. The fields
are:
ProgID – The programmatic identifier of a class module within the
P&ID EF adapter.
Expand Attributes Flag – A flag to indicate if the attributes should
be expanded. The default value of most class definitions is False;
thus, expanded attributes will not be published. To publish
expanded attributes, change the value to True.
Seq No – A number that indicates the sequence in which the
classes are processed. This field is used for Retrieve processing.
Do not modify the ProgID or Seq No values. Use caution
when modifying the Expanded Attributes flag. The default values
that come with the delivered Tool Schema should remain
unchanged. This should remain with out-of-the-box values. Deleting
this field will result in ignoring the class from participating in the
publish process.

Tool Schema Relationships


Relationship Comment
Map Properties The map properties associated with the MapClass must be
defined and a relationship between the MapClass and the
MapClassMapProperties must be created
(MapClassMapProperties in the diagram).

Mapping Relationships
Relationship Comment
Publish to EF class A relationship must be defined between the MapClass and a class
in the SmartPlant Schema if this class is to be published. When
this relationship is set, an instance of the target class is published
for each instance of the source class in the drawing being
published (MapClassToClass in the diagram).
Retrieve from EF The list of interfaces from which properties are to be retrieved
interface must be set if this class is to be used for retrieval
(ClassToMapClass in the diagram).

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 17


Data Transformation Logic

ClassDef Integration Behavior


The following table depicts the ClassDefs that are involved in the integration court, each with its
own capability:

- Supported
- Unsupported

ClassDef Name Publishable Retrievable


ControlSysIO

Drawing

EquipComponent

Equipment

EquipmentOther

Exchanger

InstrLoop

Instrument

InstrumentCtrlSysFunc

InstrumentInline

ItemNote

Mechanical

Nozzle

OPC

Pipeline

Piperun

PipingBranchPoint

PipingComp

PipingPoint

Representation

18 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


Data Transformation Logic

- Supported
- Unsupported

ClassDef Name Publishable Retrievable


SignalBranchPoint

SignalPoint

SignalRun

Vessel

Properties
In general, there is a MapProperty object in the tool schema for each SmartPlant P&ID property
that needs to be published or retrieved.
In general, PropertyDef Objects in the tool schema must have a MapPropertyToProperty
relationship with the SmartPlant Schema Object (InterfaceDef) in order for a property to be
published.
 For any published ClassDef – Any property having the MapPropertyToProperty rel will be
published.
 For any retrieved ClassDef – Any property having the PropertyToMapProperty rel will be
retrieved.
During publishing, all such properties will be gathered from the relevant ClassDef and will be
populated by corresponding values from the SmartPlant P&ID item and property. Each updated
property will be added to the container under its appropriate Interface realized by the ClassDef.
The properties and relationships for a MapProperty can be viewed in the Edit Map Property
Definition dialog box.

General
Property Value
UID Must be unique. No other special requirements.
Name The internal name of the SmartPlant P&ID attribute. Required.
Selection Criteria This field is used to specify the handling of process data
properties on PipeRuns. For more information, see PipeRun
(on page 31).
Process Criteria For properties that require special handling, the ProgID of the
appropriate PropertyConversion class must be entered here. In
some cases, additional parameters are also supplied in this
field. For simple properties with matching data types, no value
is required here. For more information, see Property Data
Conversions (on page 25).

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 19


Data Transformation Logic

Tool Schema Relationships


Relationship Comment
Exposed by MapClasses Every MapProperty must be related to a MapClass
(MapClassMapProperties in the diagram).
Scoped by enumeration If the data type of the property is enumerated, the MapProperty
must be related to a MapEnumList. If the data type of the
property is UoM, the MapProperty must be related to a
MapUoMList (MapPropertyMapEnumList in the diagram).
Otherwise, this relationship is not needed.

Mapping Relationships
Relationship Comment
Map property to property This relationship defines the property in the SmartPlant
Schema to which this tool property is to be published
(MapPropertyToProperty in the diagram). If this relationship is
not defined, the property will not be published.
Property to map property This relationship defines the property in the SmartPlant
Schema from which this tool property is to be retrieved
(PropertyToMapProperty in the diagram). If this relationship is
not defined, the property will not be retrieved.

Enums
Enum List
In general, there is a MapEnumList object in the tool schema for each SmartPlant P&ID
enumerated list associated with a property that needs to be published or retrieved. The
properties and relationships for a MapEnumList can be viewed in the Edit Map Enumerated
List Definition dialog box.

General
Property Value
UID The UID must be constructed using the following pattern:
UID = SPEN_<CodelistNumber>
<CodelistNumber> - The numeric identifier for this enum list (ID
value from the database ‘enumerations’ table).
Name The name of the SmartPlant P&ID enum list.

Tool Schema Relationships


Relationship Comment
Scoped map A MapEnumList must be related to the MapProperties that it
properties scopes (MapPropertyMapEnumList in the diagram).

20 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


Data Transformation Logic

Relationship Comment
Contains A MapEnumList can contain a variable number of MapEnum
objects (MapEnumListMapEnum in the diagram).
Constrains For hierarchical enum lists, the MapEnumList must be related to
the lower level list with the Constrains relationship
(MapEnumListMapEnumList in the diagram).
Constrained by For hierarchical enum lists, the MapEnumList must be related to
the higher level list with the Constrained by relationship
(MapEnumListMapEnumList in the diagram).

Mapping Relationships
Relationship Comment
Maps to To support the publish operation, a MapEnumList that should be
related to the corresponding enum list in the SmartPlant Schema
by means of the Maps to relationship (MapEnumListToEnumList
in the diagram).
Mapped from To support the retrieve operation, a MapEnumList should be
related to the corresponding enum list in the SmartPlant Schema
by means of the Mapped from relationship
(EnumListToMapEnumList in the diagram).

Enum Entry
In general, there is a MapEnum object in the tool schema for each SmartPlant P&ID enumerated
list entry that needs to be mapped. The properties and relationships for a MapEnum can be
viewed in the Edit Map Enumerated List Definition dialog box (the same dialog box that is
used for MapEnumList objects.)

General
Property Value
UID The UID must be constructed using the following pattern:
UID = SP_<CodelistNumber>_<CodelistIndex>
<CodelistNumber> - The numeric identifier for this enum list (ID
value from the database ‘enumerations’ table).
<CodelistIndex> - The numeric identifier for this entry (ID value
from the database ‘Codelists’ table).
Name The text of the SmartPlant P&ID enum list entry.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 21


Data Transformation Logic

Tool Schema Relationships


Relationship Comment
Contained In Every MapEnum must be related to a MapEnumList
(MapEnumListMapEnum in the diagram).

Mapping Relationships
Relationship Comment
Maps to This relationship defines the SmartPlant Schema enum value to
which this SmartPlant P&ID enum value is to be published. If this
relationship is not defined, the enum value will not be published
(MapEnumToEnum in the diagram).
Mapped from This relationship defines the SmartPlant P&ID enum value to
which this SmartPlant Schema enum value is to be retrieved. If
this relationship is not defined, the enum value will not be
retrieved (EnumToMapEnum in the diagram).

UOMs
UOMs are a specialized case of enums.

UoMList
The diagram below shows a representation of the objects and relationships that are relevant to
the mapping of Units of Measure (UoM). A MapUoMList is a specialized kind of MapEnumList.
Similarly, a MapUoM is a specialized kind of MapEnum. This is shown by the Implies
relationships in the diagram. A MapProperty with a UoM data type must be related to a
MapUoMList.

The MapUoMList object corresponds to the IMapUoMListDef interface in the diagram above. In
general, there is a MapUoMList object in the tool schema for each SmartPlant P&ID format type
associated with a property that needs to be published or retrieved. The properties and
relationships for a MapUoMList can be viewed in the Edit Map Unit of Measure List Definition
dialog box.

22 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


Data Transformation Logic

General
Property Value
UID The UID must be constructed using the following pattern:
UID = SPMU_<FormatType >
<FormatType> – This is a numeric value that uniquely
identifies the format type and therefore the UoM type within
SmartPlant P&ID (ID value from the database
T_FormatTypes table).
Name The name of the SmartPlant P&ID format type.

Tool Schema Relationships


Relationship Comment
Scoped map properties A MapUoMList must be related to the MapProperties that it
scopes (MapPropertyMapEnumList in the diagram).
Contains A MapUoMList can contain a variable number of MapUoM
objects (MapEnumListMapEnum in the diagram).

Mapping Relationships
Relationship Comment
Maps to To support the publish operation, a MapUoMList should be
related to the corresponding UoMListType in the SmartPlant
Schema by means of the Maps to relationship
(MapEnumListToEnumList in the diagram).
Mapped from To support retrieve, a MapEnumList should be related to the
corresponding UoMListType in the SmartPlant Schema by
means of the Mapped from relationship
(EnumListToMapEnumList in the diagram).

UOM Entries
The MapUoM object corresponds to the IMapUoMDef interface in the diagram above. In
general, there is a MapUoM object in the tool schema for each SmartPlant P&ID format that
needs to be mapped. The properties and relationships for a MapUoM can be viewed in the Edit
Map Unit of Measure List Definition dialog box (the same dialog used for MapUoMList
objects.)

General
Property Value
UID The UID must be constructed using the following pattern:
UID = SPMU_<FormatType >_<FormatName>
<FormatType> – This is a numeric value that uniquely
identifies the format type and therefore the UoM type within

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 23


Data Transformation Logic

Property Value
SmartPlant P&ID.
<FormatName> – This is a text value that identifies the name
of the format and therefore the UoM within SmartPlant P&ID
(as defined in Format Manager).
Name The name of the SmartPlant P&ID format.

Tool Schema Relationships

Mapping Relationships
Relationship Comment
Contained In Every MapUoM must be related to a MapUoMList
(MapEnumListMapEnum in the diagram).

UOM Conditions
A retrieved UOM can come with conditions which follow this pattern: ‘@<ConditionName>’.
Currently the @Gauge condition for pressure UOMs is supported, and the pressure values are
adjusted to account for the Gauge condition.

Example:
 300 bar @Gauge will return 301.01325 bar.

Relationships
Relationships will be elaborated on later in this document.

24 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 4

Property Data Conversions


If the data type of the SmartPlant P&ID property does not match the data type of the mapped
SmartPlant property we say that a data type mismatch exists. In some cases, a property with a
data type mismatch can still be published and retrieved using specialized code. The code to
perform these data type conversions and other special handling is implemented in special
Property Conversion objects. The SmartPlant Adapter is told about the need to use a Property
Conversion object by putting the ProgID of the Property Conversion class in the Process Criteria
field of the MapProperty.
Following is a list of available Property Conversion classes:

Boolean to Enum (BoolToEnumConv.cls)


Special property conversion code from Boolean to Enum.
This property conversion module is specifically targeted to handle the IsSpecialtyItem property.

Relationship Comment
Maps to This relationship defines the SmartPlant Schema UoM to
which this SmartPlant P&ID format (UoM) is to be published
(MapEnumToEnum in the diagram). If this relationship is not
defined, the UoM will not be published.
Mapped from This relationship defines the SmartPlant P&ID format (UoM)
to which this SmartPlant Schema UoM is to be retrieved
(EnumToMapEnum in the diagram). If this relationship is not
defined, the UoM will not be retrieved.

Component Flow Direction (CompFlowDirConv.cls)


Special property conversion to handle the publishing of the IsFlowDirectional special property.
There is no property named IsFlowDirectional in SmartPlant P&ID. This information is derived
from the Flow Direction property value. If the Flow Direction on a component is set, then this will
publish IsFlowDirection as "True" else "False".

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 25


Property Data Conversions

Enum Conversions (EnumConversions.cls)


Special property conversion to handle the property conversion code for Hierarchical Enums.

Enum to Boolean (EnumToBoolConv.cls)


Special property conversion code from Enum to Boolean.
This property conversion module specifically targeted to handle the retrieve of
the StressAnalysisRequirement property in SmartPlant P&ID.
Publish is broadened to any property converted from Enum to Boolean.

Enum to String (EnumToStringConv.cls)


Special property conversion code from Enum to String.
This conversion is aimed for defining the field published for such a property.
The progID EFAdapter.EnumToStringConv for process criteria will come with one of the three
following formats (defined by users/customers):
 EFAdapter.EnumToStringConv,<Name> - will cause the Value* to be published.
3
 EFAdapter.EnumToStringConv.<Description> - will cause the ShortValue to be
published even if it is blank.
 EFAdapter.EnumToStringConv - Default, will cause the Value to be published.
3
Value and Short Value refer to the fields as seen in the SmartPlant P&ID Data Dictionary
Manager.

Nominal Diameter (NominalDiameterConv.cls)


Special property conversion to handle the conversion between a nominal diameter UoM value to
an index in a select list (on retrieval), or from a select list index to a nominal diameter UoM value
(on publishing).

Connection Point Flow Direction


(PortFlowDirectionConv.cls)
Special property conversion to handle the publishing of FlowDirection property on Connect
Point.
The Select List values for FlowDirection for SmartPlant P&ID Piping Point and SmartPlant
PIDPipingPort do not match well. SmartPlant P&ID uses only one Select List for FlowDirection
for both InlineComponent and PipingPoint whereas in the framework there are two separate
Select Lists.

26 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


Property Data Conversions

Piping Connector Name (PpConnNameConv.cls)


Special property conversion to handle the publishing of Piping Connector Name property aka
PipeRun’s ItemTag, which is built out of several string modules which need to be parsed,
example:
<OperFluidCode>-<TagSequenceNo>-<NominalDiameter>-<PipingMaterialsClass>-<InsulPurp
ose>

Tag Prefix (TagPrefixConv.cls)


Special property conversion code for TagPrefix property. It populates the Unit value.

Uom to Double (UoMToDoubleConv.cls)


Special property conversion to handle the conversion code between UoM and Double.
This property conversion module is specifically targeted to handle conversion of attributes
without units (such as Molecular Weight, CpCvRatio, Compressibility, SpecificGravity). In
SmartPlant P&ID these attributes are treated like UOM attributes. However, in the SmartPlant
Schema they are simply Double.

Uom to Enum UoMToEnumConv.cls)


Special property conversion to handle the conversion code from UoM to Enum.
These ProgIDs are out-of-the-box classes used by EFAdapter. End users cannot add
their own ProgIDs to the EFAdapter. This method can be exercised on end users’ "home-made"
adapters.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 27


Property Data Conversions

28 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 5

Publish/Retrieve

Publishing
A class publisher is created for each SPMapClassDef in the Tool Schema that has a valid
ProgID in the ProcessCriteria field.
The following table represents the P&ID types in relation to a SPMapClassDef:

P&ID Item Type SPMapClassDef ProgID


Equipment Equipment
Vessel Vessel
EFAdapter.EqDataExchanger
Exchanger Exchanger
Mechanical Mechanical
EquipmentOther EquipmentOther
PipeRun PipeRun EFAdapter.PipeRunDataExchanger
Nozzle Nozzle EFAdapter.NozzlePublisher
Instrument Instrument EFAdapter.InstrPublisher
Instrument Instrument EFAdapter.CtrlSysFuncExchnger
PipingComponent PipingComp EFAdapter.PpCompDataExchanger
PipingPoint PipingPoint EFAdapter.PipingPointPublisher
Pipeline Pipeline EFAdapter.PipeLinePublisher
InstrumentLoop InstrLoop EFAdapter.InstrLoopDataExchanger
EquipComponent EquipComponent EFAdapter.EquipCompPublisher
InlineComponent InstrumentInline EFAdapter.InstrInlDataExchanger
ItemNote ItemNote EFAdapter.NotePublisher
OPC OPC EFAdapter.OPCPublisher
SignalRun SignalRun EFAdapter.SigConnPublisher
SignalPoint SignalPoint EFAdapter.SignalPointPublisher
Representation Representation EFAdapter.RepresentationPublisher
The Class Publisher contains code for the following tasks:
 Query the SmartPlant P&ID Database – The Class Publisher queries the database to
obtain the collection of items to be published.
 Create a Data Object – For each item to be published, the Class Publisher creates a data
object in the document container. The class of this object is the SmartPlant Class related to
the MapClass via the MapClassToClass relationship.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 29


Publish/Retrieve

 Set the Property Values – The property values on the data object are set according to the
values on the SmartPlant P&ID item. The list of properties to be published is defined by the
list of MapProperties related to the current MapClass.
 Publish Relationships – The Class Publisher defines the types of relationships that are to
be published for each data object that it publishes.

Special Cases
Equipment
In SmartPlant P&ID there is an abstract class for Equipment with four subclasses for Vessel,
Exchanger, Mechanical and OtherEquipment. In the SmartPlant Schema, there are four PID
equipment classes: PIDProcessVessel, PIDHeatTransferEquipment, PIDMechanicalEquipment
and PIDProcessEquipment. The Tool Schema has a MapClass for each of the four equipment
subclasses in SmartPlant P&ID and another MapClass for the abstract Equipment class. The
equipment type is defined using a three-level hierarchical enumerated list (Class, Subclass,
Type). In EF Schema the equipment type is defined using a seven-level hierarchical enum list
(EqType0, … ,EqType6).
Hierarchical enumerated lists are used in SmartPlant P&ID to identify equipment type, piping
component type, instrument type, and so forth. Each item has several related properties (such
as EquipmentClass, EquipmentSubclass, EquipmentType). When the user sets the value of a
higher level property (such as EquipmentClass), the list of possible values for the lower level
property (such as EquipmentSubclass) is constrained.
Publish – The four MapClasses map the corresponding equipment classes in SmartPlant P&ID
and the SmartPlant Schema. A SmartPlant P&ID Vessel is published as a PIDProcessVessel;
An Exchanger is published as a PIDHeatTransferEquipment, and so forth. The MapClass for
Equipment does not play any role in the Publish operation.
The EF schema provides a relationship – called EnumMetadata – from an enum list value to an
interface def. If we traverse this relationship from the lowest level EF schema equipment type
value to the corresponding InterfaceDef, it allows us to find the most specialized interface that
should be published for the given equipment object. The diagram below illustrates this
relationship.

30 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


Publish/Retrieve

Example
When P&ID publishes an Exchanger object, the resulting EF object is a
PIDHeatTransferEquipment object. This object will realize the IHeatTransferEquipment interface
and all of the more general implied interfaces. Only one of the more specialized interfaces will
be published. (An exchanger is either an air cooled exchanger or a shell and tube exchanger. It
is never both.)
Retrieve – When a document is being retrieved, each incoming object is tested for identifying
interfaces to determine what type of object it is. The object is first tested for the identifying
interfaces for Vessel, Exchanger, Mechanical and OtherEquipment (for details, see the table
under Retrieving (on page 36). If the object has one of these identifying interfaces, it is retrieved
as that specific type of equipment (using the MapProperties associated with the specific
MapClass for that equipment class). If the object is not recognized by its interfaces as any of
these specific equipment types, but it is recognized as Equipment, it is retrieved as generic
equipment (using the MapProperties associated with the generic Equipment MapClass).

Instrument
In SmartPlant P&ID there is one Instrument class (which defines several Instrument types
through the ‘Instrument Component Class’ select list). In the SmartPlant Schema, there are
three PID instrument classes: PIDInstrument, PIDInlineInstrument, and
PIDControlSystemFunction. The tool schema has three MapClasses: Instrument,
InstrumentInline, and InstrumentCtrlSysFunc. The SmartPlant Adapter has three separate Class
Publisher/Retriever objects for these three classes.
Publish – All SmartPlant P&ID instruments with Instrument Class equal to ‘System Function’
are published as PIDControlSystemFunction using the InstrumentCtrlSysFunc MapClass. All
SmartPlant P&ID instruments with IsInline equal to True are published as PIDInlineInstrument
using the InstrumentInline MapClass. All other SmartPlant P&ID instruments are published as
PIDInstrument using the Instrument MapClass.
Retrieve – All objects that have the ‘IcontrolSystemFunction’ interface are retrieved as
Instruments using the InstrumentCtrlSysFunc MapClass. All objects that have the
‘IinstrumentOcc’ interface are retrieved as Instruments using the PIDInlineInstrument MapClass.

PipeRun
In SmartPlant P&ID, there is a single class for PipeRun. This class has properties describing
aspects of the physical pipe and other properties that describe the process data for the fluid
flowing through that pipe. In the SmartPlant Schema there are two relevant classes:
PIDPipingConnector for the pipe itself and PIDProcessPoint for the process data, the fluid.
Furthermore, the SmartPlant Schema has several classes that are used to publish a Stream and
its associated process data on a PFD. The tool schema has one MapClass for PipeRun.
Publish – Each SmartPlant P&ID PipeRun is published as a PIDPipingConnector and a
PIDProcessPoint with a relationship between the two. Some of the properties from the PipeRun
are mapped to the PIDPipingConnector and others are mapped to the PIDProcessPoint.
Retrieve – When an object is retrieved with the ‘IPipingSystemConnector’ interface, it is
recognized as a Stream and is retrieved using the PipeRun MapClass to create or update a
PipeRun. The ‘ProcessDataCaseComposition’ relationship is traversed to obtain objects that
realize the ‘IProcessDataCase’ interface. From those objects, the
‘ProcessDataBulkComposition’ relationship is traversed to obtain objects that realize the
‘IProcessDataBulkPhase’ interface. Properties from all of these SmartPlant objects can be
retrieved onto the SmartPlant P&ID PipeRun object.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 31


Publish/Retrieve

Select Criteria – The Select Criteria field on the MapProperty is used to indicate to the
SmartPlant Adapter how to handle each property for both publish and retrieve. The format of
the Select Criteria field is:
 Select Criteria = <Retrieve Path>%<Publish Path>
 <Retrieve Path> – A string that indicates where the property comes from during
retrieve. If this value is empty, it means that the property comes from the primary object
being retrieved (IPipingSystemConnector). If this property has a value, it means that this
property comes from one of the secondary objects that is related to the primary object
by means of a relationship.
 <Publish Path> – A string that indicates where the property goes to during publish. If
this value is empty, it means that the property is published to the primary object
(PIDPipingConnector). If this property has a value (it should be equal to ‘ProcessPoint’),
it means that this property is published to the related PIDProcessPoint object.

PipeLine
Within the SmartPlant P&ID application, users draw graphical piperuns to indicate the schematic
piping design. Users can assign naming properties to these piperuns. All of the piperuns with
matching values for the naming properties form a logical group. Such a group is sometimes
called a pipeline and the values of the naming properties represent the name of the pipeline. All
of this is done without requiring the user to explicitly create a pipeline object.
In the SmartPlant Schema there is an explicit PIDPipeLine class. Objects of this class must be
published with relationships to the associated PIDPipingConnectors. Some downstream
applications depend on the existence of the PIDPipeLine for their processing.
The SmartPlant Adapter creates and deletes pipelines dynamically during the publish operation.
The pipelines and the relationships to the piperuns are published as if they really existed in the
SmartPlant P&ID database. The Tool Schema contains a MapClass for PipeLine. The
MapProperties for the pipeline MapClass define the properties that are published to the
PIDPipeline object.

Drawing
There is a MapClass in the tool schema for Drawing. The MapProperties for this MapClass
define the properties that will be published from the P&ID Drawing item to the EF Schema
PIDDrawing object. If new properties are added to the Drawing item type in the Data Dictionary
Manager, and corresponding new properties are added in the EF Schema, then they can be
mapped by adding new MapProperties to this MapClass in the tool schema.
Apart from the published data XMLs, a graphical .pid file is also published.
When you map custom drawing names in SmartPlant P&ID, the software now recognizes
the mapped name property during both revise and publish processes.

32 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


Publish/Retrieve

Hierarchical Enum Lists


A hierarchical enum list is a complex data type in which there is a collection of related enum lists
and a value in a higher level list constrains the valid values in a lower level list. When a
hierarchical enum list is used, a separate property is created for each level in the hierarchy.
Examples of hierarchical enum lists in P&ID are:
1. Equipment Class, Equipment Subclass, Equipment Type
2. Fluid System, Fluid Code
Examples in the EF Schema include:
1. EqType0, … , EqType6
2. ConstructionStatus, ConstructionStatus2
When mapping between P&ID and the EF Schema, four cases must be considered:
1. Simple enum to simple enum
2. Simple enum to hierarchical enum
3. Hierarchical enum to simple enum
4. Hierarchical enum to hierarchical enum
When mapping between two hierarchical enum lists, the number of levels in each hierarchy may
not be the same.
EnumConversions – A special Property Conversion class is available to support publishing and
retrieving of enumerated properties. This class is called EnumConversions and it is used for all
cases of mapping enum list properties.
Mapping Properties – Only the top level properties associated with a hierarchical enum list are
mapped. The lower level properties are left unmapped. The EnumConversions object obtains all
of the values from the set of related properties even though they are not explicitly mapped.
Tool Schema Relationships – The MapEnumList objects that form an enum hierarchy must be
related to each other with the Constrains and Constrained By relationships. The
EnumConversions object relies on these relationships to get the job done.
Mapping Enum Values – An enum value within an enum list hierarchy can be mapped to any
value (at any level) in the target enum list hierarchy. There is no explicit relationship between the
levels of two hierarchies.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 33


Publish/Retrieve

34 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 6

Hard-Coded References

Publishing Relationships
Each class gets all relevant required interfaces for publishing relationships using
GetInterfaceDefsUsedByRelDefs.
Publishing relationships are hard-coded and are defined through the class published.
The following table depicts the type of relationships published for each class:

RelName Class Name End1 End2 Example


EquipmentComponentComposition Nozzle Nozzle Equipment Nozzle - Vessel
EquipmentOcc_EquipmentOcc EquipmentDataEx

DrawingRepresentationComposition Representation Drawing Representation


PipeRun
DrawingItems Representation Drawing DrawingItem Drawing – Mechanical
Equipment
PipingPortComposition PipingPoint

SignalPortComposition SignalPoint
InstrumentLoopAssembly InstrumentInline Instrument InstrLoop Control Valve - Loop
CtrlSysInstrument
PipingSysConnectorImplementation PipeRun
PBSItemCollection Instrument
PipingCompDataEx
PipeLine
EquipmentDataEx
InstrumentInline
InstrLoop
PBSItemNotes
ProcessPointCollection PipeRun PipeRun ProcessData PipeRun –
PressureMax property
PipingConnectors PipeRun

PipingEnd1Conn PipeRun Piping Piperun Reducer - Piperun


Component
PipingEnd2Conn PipeRun Piperun Piping Piperun - Nozzle
Component
PipingTapOrFitting PipeRun
SignalEnd1Conn SignalConnector
SignalEnd2Conn SignalConnector
SignalTapOrFitting SignalConnector SignalBranchPoint -
SignalConnector

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 35


Hard-Coded References

Retrieving
When a foreign document is retrieved, the SmartPlant Adapter compares the objects in that
document to the data in the SmartPlant P&ID database and generates tasks in the To Do List. A
Create task is generated when a new item needs to be created. An Update task is generated
when an existing item needs to be modified. A Delete task is generated when an existing item
needs to be deleted. The SmartPlant Adapter depends on the data in the tool schema to support
the retrieve operation.
For each retrieved class in the tool schema, there is a code module in the SmartPlant Adapter
known as a Class Retriever. Each Class Retriever contains code for retrieving a class of objects.
When a document is retrieved, the SmartPlant Adapter receives two containers of data:
1. The document container, which includes all of the published objects and relationships for
that document.
2. The tombstone container, which includes information about deleted objects and
relationships.
The SmartPlant Adapter iterates over all of the objects in the document container and performs
these actions:
 Use Identifying Interface to Determine Class – The incoming object is tested for an
identifying interface to determine which Class Retriever should handle the retrieval of that
object.
 Generate Update Task – The Class Retriever searches for an existing SmartPlant P&ID
item to update. If an item is found, it generates an Update Task in the To Do List. The
properties of the incoming object are compared against the properties of the existing item.
When differences are found, property updates are added to the task. The list of properties to
be compared is defined by the properties in the Tool Schema.
 Generate Create Task – If no item is found to update, a Create Task is generated in the To
Do List. Property updates are added to the task for each of the incoming property values.
The list of properties to be added is defined by the properties in the Tool Schema.
 Retrieve Relationships – The Class Retriever defines the types of relationships that are to
be retrieved for each data object.
The SmartPlant Adapter iterates over all of the objects in the tombstone container and performs
this action:
 Generate Delete Task – The SmartPlant Adapter searches for an existing item in the
SmartPlant P&ID database that is correlated to the item that was deleted in the other
application. If such an item is found, a Delete Task is generated in the To Do List.
Identifying interfaces for each class retriever are hard-coded and are described in the following
table:

Class Retriever Type Identifying Interface


Name
NozzlePublisher Nozzle INozzleOcc
PipeRunDataExchanger PipeRun IPipingSystemConnector
PpCompDataExchanger Piping IPipingComponentOcc
Component*
Equipment (STEP 1) (STEP 2)
Vessel IProcessVesselOcc

36 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


Hard-Coded References

Class Retriever Type Identifying Interface


Name
EqDataExchanger Exchanger IHeatTransferEquipmentOcc
IEquipmentOCC IIncinerator_CombustorOcc
Mechanical IGrinding_CrushingOcc
IDryingEquipmentOcc
IEquipmentDriverOcc
ILiquidGasSeparationEquipmentOcc
ILiquidLiquidSeparationEquipmentOcc
IMaterialTransferEquipmentOcc
IMixingEquipmentOcc
IPackagingEquipmentOcc
IShaping_FormingEquipmentOcc
ISolidSeparationEquipmentOcc
IWeighingEquipmentOcc
Other ISoundControlEquipmentOcc
ITransmissionPipelineOcc
IUtilitySystemOcc
InstrLoopDataExchanger InstrumentLoop IInstrumentLoop
EquipCompPublisher Equipment IEquipmentComponentOcc
Component
InstrInlDataExchanger Instrument IInstrumentOcc
CtrlSysFuncExchanger Instrument IControlSystemFunction

* Only specialty Piping Components are retrieved and are recognized by their
commoditySpecialtyType property.

Select Property Criteria


The ‘Select Property Criteria’ field on the MapProperty object defines the mapping by interaction
with hard-coded transformation code that transforms a retrieved object into a SmartPlant P&ID
object, for example – a stream (PFDPipingSystemConnector in Aspen Basic Engineering) to a
piperun.
A stream has the following general structure in the PFD document:

which needs to be transformed to a Piperun.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 37


Hard-Coded References

The Select Property Criteria defines a path where a retrieve of properties from Aspen Basic
Engineering to SmartPlant P&ID is determined. This path has two fields:
RetrievePath%PublishPath%
 Retrieve Path – consisting of two fields: <CaseSelector>.<PhaseSelector>.
Case Selector – Defines the case process data case type: Normal, Base, Min, Max.
Phase Selector – Defines the process phase: Vapor, Solid, Bulk, Liquid.
 Publish Path – Defines where the property goes to.
Example: Min.Liquid%ProcessPoint%
Retrieving any process data property will be translated to the next steps (EFAdapter function
PipeRunDataExchanger::CreateProcessDataProperties):
1. Going through the Aspen Basic Engineering PFDDocument seeking for the
PipingSystemConnector.
2. Traversing to the PFDProcessData Class which holds the case (Min, Max…)
3. Traversing to the related Data Phase (Bulk, Liquid…)
4. Picking the properties and matching them to the Tool Map properties having the relevant
select criteria.
5. Current cases which are treated hard-coded-wise: Bulk & Liquid. Any other configuration
needs code intervention.

Special cases
Instrument Loops
Instrument loops are retrieved as part of an associated instrument. To prevent the retrieval of
InstrLoops and their relationships - the user will have to add a fourth option to the Process
Criteria field for the InstrLoop Class in the ToolSchema.
 EFAdapter.InstrLoopDataExchanger,False,7,False
The following will retrieve the instrument loop related to an instrument:
 EFAdapter.InstrLoopDataExchanger,False,7 or
 EFAdapter.InstrLoopDataExchanger,False,7.True

38 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 7

Publish Scope
The scope of the published items is defined by the P&ID drawing boundaries.
Exceptions:
 Claimed Objects – On an As-Built project, claimed objects will be the only objects in the
publish scope.
 Instrument Loops – These will be published only if they are associated with an instrument
in the published drawing.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 39


Publish Scope

40 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 8

‘Virtual’ Objects

Pipelines
Within the SmartPlant P&ID application, users draw graphical piperuns to indicate the schematic
piping design. Users can assign naming properties to these piperuns. All of the piperuns with
matching values for the naming properties form a logical group. Such a group is sometimes
called a pipeline and the values of the naming properties represent the name of the pipeline. All
of this is done without requiring the user to explicitly create a pipeline object and adds a pipeline
entry in the T_Pipeline table.
In the SmartPlant Schema there is an explicit PIDPipeLine class. Objects of this class must be
published with relationships to the associated PIDPipingConnectors. Some downstream
applications depend on the existence of the PIDPipeLine for their processing.
The SmartPlant Adapter creates and deletes pipelines dynamically during the publish operation.
The pipelines and the relationships to the piperuns are published as if they really existed in the
SmartPlant P&ID database. The Tool Schema contains a MapClass for PipeLine. The
MapProperties for the pipeline MapClass define the properties that are published to the
PIDPipeline object.
There is an implicit relationship between Pipeline and Piperun. The cardinality indicates: a
piperun can be a part of a single pipeline, but does not have to be related to any pipeline. A
pipeline can be related to one or more piperuns.

Properties of the Pipeline item include all of the properties inherited from PlantItem plus the
pipeline naming properties listed below:

Pipeline Properties
Fluid Code
Fluid System
Tag Seq No
Tag Suffix

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 41


‘Virtual’ Objects

Pipeline Key Attributes


The pipeline key attributes are defined by the user in Options Manager. This list of attributes
defines the criteria for the existence of implied pipelines in SmartPlant P&ID. It also defines the
criteria for the generation of explicit pipelines during publishing. The delivered properties of the
pipeline item type work with the delivered pipeline key attributes. Additions to the list of key
attributes must be accompanied by corresponding additions to the pipeline item type (through
the SmartPlant P&ID Data Dictionary Manager).

Publishing Pipelines
Pipeline Publisher
Pipeline publisher is somewhat different from other publishers. The algorithm used to create and
publish pipelines is described as follows:
Get all piperuns that are represented on this drawing
Eliminate all piperuns with NULL values for any of the key attributes
Form a sort key for each piperun by concatenating all of the key attribute
values
Sort the piperuns
For each group of piperuns with the same sort key
Query the database for a pipeline with matching key attributes
If a pipeline was found then
Remember this pipeline
Else
Create a new pipeline item
Set the key attribute values on the pipeline
Endif
Create an instance of a pipeline object in the document container
Add the required interfaces
Set the UID = <Signature> & <ModelItemPrefix> & <Pipeline SPID>
Set pipeline properties from pipeline attributes driven by the map

Create a PBSItemCollection relationship from pipeline to unit


(Use the unit of the first piperun.)
Next

Piperun Publisher
The piperun publisher publishes the PipingConnector relationship. A piperun belongs to a
pipeline when it has non-NULL values for each of the key attributes. If a piperun belongs to a
pipeline, the relationship to the pipeline is published along with the piperun. The following logic
is executed on the piperun publisher:
If all key attributes have non-NULL values then

42 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


‘Virtual’ Objects

Query the database for the Pipeline with matching key attributes
If found then
Create a PipingConnectors relationship from piperun to pipeline
endif
Endif

Tombstones
The adapter supports the generation of tombstones for Pipelines. During the course of
tombstone processing, when SmartPlant calls back to the adapter to inquire if an objects exists,
the adapter will implement the following logic. This will result in tombstones being generated for
pipelines that are eliminated from the design:
IEFAdapter.ObjectExistsInTool( sObjUID, sClassUID )
If sClassUID = "PIDPipeline" then
Parse the UID to get the SPID
Query the database for a Pipeline with this SPID
If Pipeline exists then
Query the database for Piperuns with matching attribute values
If one or more Piperuns are found then
ObjectExistsInTool = True
Else
Delete the pipeline from the P&ID database
ObjectExistsInTool = False
Endif
Else
ObjectExistsInTool = False
Endif
Exit Sub
Endif

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 43


‘Virtual’ Objects

44 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 9

Correlation
When retrieving a document all the objects are processed within that document. For each object
being retrieved, it looks for an existing SmartPlant P&ID item that should be updated. If it finds
one, it generates an Update task. If it doesn’t find one, it generates a Create task.
When we retrieve an object, we follow a standard procedure. For example, when we find an
equipment object in the retrieved document we do the following:
1. Look for a SameAs relation in the retrieved document that refers to this item. If we find one,
then we use the remote UID from that SameAs and do a query for a SmartPlant P&ID item
with SP_ID = remote UID. If such an object is found, that is the item that needs to be
updated.
2. If no item to update is found, use the UID of the object and perform a query for a SmartPlant
P&ID item with SP_DesignBasisUID = UID. If such an object is found, that is the item that
needs to be updated.
3. If no item to update is found, use the IObject.Name of the object and do a query for a
SmartPlant P&ID item with ItemTag = Name and belonging to the same Plant Group (for a
Stream we query for a P&ID PipeRun item where StreamNo = Name). If such an object is
found, that is the item that needs to be updated.
4. If no item to update is found, a Create task is generated instead of an Update task.
If an item to update is found by means of a matching Item Tag, the resulting Update task shows
that the item will be correlated when the task is run (see the Update tab on the properties dialog
of a task). Being correlated means that the SmartPlant P&ID item carries the UID of the
retrieved object in the DesignBasisUID plant item attribute.

Special Cases
The description above applies generally to all types of objects: equipment, instruments, and so
forth. Nozzles are a special case since they are always components of equipment. A nozzle
cannot exist independently. That is why the option for placement in the drawing was introduced.
Nozzles retrieved from SmartPlant Enterprise cannot exist in the stockpile because they lose
their relationship to their parent equipment.
Another difference with nozzles is that Nozzle Item Tag uniqueness is confined to the equipment
object that the nozzle belongs to. The same Item Tag may be reused for nozzles on different
equipment items in the plant. So the search for a matching Item Tag would have to be made
within the context of the parent equipment.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 45


Correlation

Limitations
The design basis doctrine is limited to 10 SameAS UIDs, meaning – SmartPlant P&ID can
retrieve from at most 10 different authoring tools.

46 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 10

‘Same As’
When retrieving an item, it will be entered in the T_PlantItem table with its SP_ID and the
corresponding design basis UID.
When publishing this item, a <SameAs> relationship will be published, which indicates the
relationship between the retrieved item and the published one, for other tools to perform a
correlation.

Creation of SameAs
Every class publisher that implements the ‘PublishSameAs’ function will create a <SameAs>
relationship. This code receives a hard-coded ‘Shared Object Definition’ string from each class
Publisher, which is also filled in the related ClassDef’s ‘Shared Object Definition’ field. The
relevant ‘Shared Object Definition’ strings in order to create a ‘SameAs’ relationship on Publish
are:
 SharedEquipment_PM
 SharedInstrument_PM
 SharedInstrumentLoop
 SharedPipingComponent_PM
 SharedNozzle_PM
 SharedEquipmentComp_PM

Classes
The following classes will create a ‘SameAs’ relationship on publish, using a ‘Shared Object
Definition’:

Class Shared Object Definition


PIDHeatTransferEquipment
PIDMechanicalEquipment SharedEquipment_PM

PIDProcessEquipment
PIDProcessVessel
PIDInlineInstrument SharedInstrument_PM
PIDInstrument
PIDInstrumentLoop SharedInstrumentLoop
PIDSignalConnector
PIDNozzle SharedNozzle_PM
PIDPipingComponent SharedPipingComponent_PM
PIDProcessEquipmentComponent SharedEquipmentComp_PM

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 47


‘Same As’

Exceptions
 Any objects that are only published and do not participate in retrieve will not create a
‘SameAs’ relation, for example: PIDBranchPoint, PIDNote.
 If there is no ‘Shared Object Definition’ defined on publish – a ‘SameAs’ relation will not be
created.
 Streams (in Aspen Basic Engineering) and SmartPlant P&ID piperuns are two different
objects, therefore no ‘SameAs’ relation will be created for piperuns.

48 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 11

Retrieved Tasks

General
A collection of class retrievers is created in order to perform the retrieve per class.
A scan is performed on the retrieved xml to identify the classes to be worked on (using the
‘Identifying Interface’ as defined under Retrieving (on page 36). Once the class to be retrieved
is chosen (by looping through the class retrievers), a scan is performed over all mapped
properties to see changes.
If a property has not changed – this property will not be in the list of properties to be updated,
otherwise it will be added to the task properties to be updated and entered into the To Do List.

Symbols
Retrieving Symbols
Each class has a type property for identifying the matching symbol to the retrieved object.
During retrieval of a document, when a Create task is generated, the SmartPlant Adapter must
select a symbol to be used by the task. The SmartPlant Adapter uses the Catalog Index to
quickly find a suitable symbol to be used. The Catalog Index lookup is based on the type
properties. For example, when generating a Create task for Equipment, the Equipment
Class/Subclass/Type properties are used to perform the lookup. Before the Catalog Index
lookup can take place, the incoming SmartPlant type values must be converted into SmartPlant
P&ID type values. This conversion of a SmartPlant Schema enum value into a SmartPlant P&ID
enum value is performed by the EnumConversions object just like any other enum property
value. It depends on the mapping of enum values found in the tool schema.
The following steps are performed to achieve this:
 Bring the EF type property.
For Instrument type it is a three-level type:
 InstrumentType
 ProcFunc
 Get the following values for this type from the SmartPlant P&ID database:
 ItemType
 Class
 Subclass (if it exists)
 Using these parameters, extract the symbol name and path from CatalogIndex.mdb.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 49


Retrieved Tasks

Adding Symbols
Adding a new symbol to the ‘game’ requires the user to manually add a new record in the
CatalogIndex.mdb defining this symbol.

ID – A Unique ID number representing the record in the .mdb file.


ItemTypeName – The symbol’s item type.
Class, Subclass and Type – ItemType attributes found in the respective ItemType table in the
SmartPlant P&ID database (T_Equipment for example).
CatalogItemName – The path to the .sym file.
IsDefaultForClass – Defines the default symbol for items belonging to a certain class that have
no match in the catalog index file.
IsDefaultForSubClass – Defines the default symbol for items belonging to a certain subclass
that have no match in the catalog index file.
IsDefaultForType – Defines the default symbol for items belonging to a certain Type that have
no match in the catalog index file.

Instructions
Delete Instruction
SmartPlant Foundation generates a Delete instruction whenever an item has been deleted.
This deletion is communicated from SmartPlant Foundation to any retrieving tool.
Once SmartPlant Foundation generates a delete instruction, a Tombstone document will be
passed to the retrieve logic.
The tombstone document will be filled with a RefUID, which is the design basis UID of the
relevant plant SP Item.
This logic creates Delete tasks for all items.

Special Case
Piperuns – The delete instruction logic will create an update task to clear out all the process
data associated to the Stream object. The reason for this is that when deleting a stream in
Aspen Basic Engineering, it was decided that in most circumstances it is not equivalent to a
deletion of all correlated SmartPlant P&ID piperuns.

50 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


Retrieved Tasks

Missing Items
Missing items on published drawing will not always result in a delete instruction. This occurs
when an item has been shifted from one drawing to another. SmartPlant Foundation calls the
SmartPlant Adapter to check this scenario (for details, see Instruction Callbacks (on page 51).

Update Instruction
SmartPlant Foundation generates an Update instruction on those properties with null values that
previously had a value.
The tombstone container will hold all those properties for an object, and will be processed during
the update task execution, which will null the property’s value.

Resurrection Instruction
SmartPlant Foundation generates a Resurrection instruction when:
 Reverting SmartPlant P&ID to a previous backup.
 Fetching an Old Version of a SmartPlant P&ID Drawing.
Example:
1. Publish Dwg1 with Equipment P-100. (Ver 1)
2. Backup SmartPlant P&ID.
3. Delete P-100.
4. Publish Dwg1. (Ver 2). This will result in a delete instruction.
5. Restore the backup in SmartPlant P&ID.
6. Publish Dwg1. (Ver 3) . This will result in a resurrection instruction to create P-100.

Instruction Callbacks
In a case where a drawing has been published with N items (version 1) and is then published
again with N-x items (Version 2), SmartPlant Foundation creates a callback to the EFAdapter to
query on the missing items, through the following functions:
 IEFAdapter_GetObjectStatusInTool
 IEFAdapter_GetRelationshipInTool
If the items are not found in the tool database, the items are considered deleted, and the
SmartPlant Adapter passes this back to SmartPlant Foundation which, then, creates a Delete
instruction. If the items are found in the database, but have been moved to a different drawing,
SmartPlant Foundation manages this and updates its database.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 51


Retrieved Tasks

52 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 12

Log Files

SPPIDEFLog.log
When an environment variable named – ‘EnableSPPIDEFlog’ is set, a log file is created in the
Temp directory with a file name SPPIDEFLog.log, which will log the SmartPlant Adapter’s
activity.

EFClient.log
Creating this file manually in the temp directory will initiate the logging of SmartPlant Client
activity.

EFCommonUI_DBG
Creating this file manually in the temp directory and entering the value 9 in it will initiate the
logging of the CommonUI activity.
The logging will occur in newly created files (for each CommonUI session) with a filename in the
format of – EFCommonUIxxxx.dbg, where xxxx is a generated number.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 53


Log Files

54 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 13

Constructed UIDs
Generally, the published UID is similar to the item’s SPID.
The UID is constructed through all the ‘ConstructUID’ functions, which for some special cases
concatenate an identifying string to the UID as follows:

Item Constructed UID Example


Branchpoint SPID + ‘.BPT’ 0FA2A43F0D9D41919D5C6FE21A59E59C.BPT
Piping Port SPID + PortEndIndex C317ED6F83D34E179AFC868FDAA861A2.2
ProcessPoint SPID + ‘.PPT’ F51AE106942942F7B236E1DEB0C94C14.PPT
Relationship RelTypeString +SPPID1 PRP-9E48768ACF5047D3AF139AD5C02C70AF.
+ SPPID2 PPT-9E48768ACF5047D3AF139AD5C02C70AF
OPC Highest SPID value
between OPC and Mate
On every relationship, a RelTypeString is concatenated to the two SPID related, as follows:

Rel Name RelTypeString


EQC EquipmentComponentCompositionRel
PPC PipingPortCompositionRel
SPC SignalPortCompositionRel
ILA InstrumentLoopAssemblyRel
PSI PipingSysConnectorImplementationRel
PBS PBSItemCollectionRel
ITN PBSItemNotesRel
DRC DrawingRepresentationCompositionRel
DRI DrawingItemsRel
PRP ProcessPointCollectionRel
PCN PipingConnectorsRel
PE1 PipingEnd1ConnRel
PE2 PipingEnd2ConnRel
PTF PipingTapOrFittingRel
SE1 SignalEnd1ConnRel
SE2 SignalEnd2ConnRel
STF SignalTapOrFittingRel
E2E EquipmentToEquimentRel

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 55


Constructed UIDs

Example:
PRP-9E48768ACF5047D3AF139AD5C02C70AF.PPT-9E48768ACF5047D3AF139AD5C02C70
AF

56 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 14

Publish Modes

Publish Now
This mode is the default publish mode which instantiates an immediate publish.

Background Publish
This mode is enabled through the IEFAdapter_SupportFeatures function, which communicates
to SmartPlant Foundation through the BatchPublish parameter whether this mode is supported
by SmartPlant P&ID. This mode triggers SmartPlant Foundation to launch a different process
for the publish to take place. This process will maintain a second connection to the datapile.
This mode is especially useful when a large number of drawings are to be published and the
user does not want to wait until the whole process is completed.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 57


Publish Modes

ToolBatch Publish
This mode is intended to enable the scheduling of publish. This mode is not supported by P&ID
(and is not available in the user interface).

58 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 15

Satellites
Publish/Retrieve is not currently supported from SmartPlant P&ID Workshare Satellites.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 59


Satellites

60 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SECTION 16

SmartPlant P&ID Mapping Examples


The sections that follow provide mapping examples for SmartPlant P&ID. For more information
and mapping examples, see the SmartPlant Mapping User's Guide.

SmartPlant P&ID Example: Mapping a New String


Property Starting in the Tool
The following sections illustrate how to add and define mapping for a simple string property
called System Code for SmartPlant P&ID starting in Data Dictionary Manager. This property
does not have an enumerated list associated with it.

Before You Extend the SmartPlant P&ID Database


1. Make a backup of the SmartPlant Foundation site database and any vaults for the site.
2. Create a backup of SmartPlant P&ID, including a database backup from the plant level with
reference data, an application-level data dictionary template (DDT), and a backup of the
SPPIDDataMap.xml file located in the SmartPlant resources directory.

Create the New SystemCode Property in Data Dictionary Manager


1. Click Start > All Programs > Intergraph SmartPlant Engineering Manager > Data
Dictionary Manager.
2. Connect to the appropriate plant server for SmartPlant P&ID.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 61


SmartPlant P&ID Mapping Examples

3. In the Database Tables list, select Plant Item.

4. On the toolbar, click Add Property .


5. In the Add Property dialog box, define information for the System Code property, and click
OK. Be sure to select String in the Data Type list.

6. Click File > Save to save your changes in Data Dictionary Manager.
7. Click File > Exit.

62 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

Launch Schema Editor and Load the SmartPlant P&ID Tool Map Schema
The ICustomInterface must be realized by the class definitions that represent objects in this
authoring tool that will be publishing or retrieving the custom property. If you have not configured
ICustomInterface, see the Schema Editor User's Guide for more information.
1. In the Desktop Client, set your scope for the applicable plant, and then find the CMF file.
2. Right-click the CMF file, and then click Edit > Check Out.
3. Click OK in the Check Out dialog box.
4. In the New Items window, right-click the new version of the CMF file, and select Launch
Schema Editor.
5. On the Set Active Configurations dialog box, select the schema version that you want to
view.

6. Click OK to set the configuration.

 For more options, click Advanced on the Set Active Configuration dialog box.
 By default, changes to the SmartPlant Schema are written to all versions managed by
the CMF file. You can choose to write changes to only selected versions; however, that
is not recommended.
 If you choose to view one version of the schema (Specify configurations to display
window), but write changes to all versions (Set Configurations for new
objects window), an information window appears when you click OK, indicating that you
will be prompted with every change to the schema to confirm that you want to write the
changes to all versions. Click OK to continue.
7. In the Schema Editor, click File > SmartPlant > Edit Engineering Tool Options, and
select SMARTPLANTPID in the list of authoring tools to load the SmartPlant P&ID tool map
schema.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 63


SmartPlant P&ID Mapping Examples

8. Under Startup options, select the Load map schema and Connect to application schema
check boxes, and click OK.

9. In each row in the Synchronize dialog box, the values in the tool database and tool map
schema columns indicate actions to correct inconsistencies between the tool metadata and
tool map schema. Select the appropriate action in each row, and then click OK.

 Each row represents a discrepancy between the tool database and the tool map
schema.
 Default actions are blue when the Synchronize dialog box appears. However, if you
select a different option, it will become blue instead.

64 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

 In many cases, only one operation is supported to synchronize the database and map
schema. For example, if a new property was found in the database, the metadata
adapter can add the property to the tool map schema, but it cannot remove the property
from the tool database.

Because the SmartPlant P&ID tool map schema does not have a map class definition
called Plant Item, the new property that you added appears on several map class definitions
that inherit from Plant Item, such as equipment component and instrument loop.

Open the Instrument Loop Map Class Definition


Once the tool map schema is synchronized with the database, the Map Environment window
appears, providing tools for creating mapping relationships to be stored in the tool map schema
file.
1. In the Map Environment, expand SmartPlant P&ID > Loaded Map Schemas >
SmartPlant P&ID Tool Schema.
2. Expand the Map Classes node, and right-click InstrLoop.
3. On the shortcut menu, select Edit InstrLoop.
4. In the Edit Map Class Definition dialog box, select the Publish tab.
The Schema Editor creates a dynamic view definition that is used to display the
SmartPlant schema properties. Selecting the mapped class will show all of the property
definitions contained in the view definition.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 65


SmartPlant P&ID Mapping Examples

Create the SystemCode Property in the SmartPlant Schema and Map


1. Click New Property Definition on the toolbar above the Unmapped SmartPlant
properties section on the right side of the dialog box.
2. In the New Property Definition dialog box, define the new SmartPlant schema
SystemCode property.

 In the Exposed by interface definitions dialog box, click Browse, and


select ICustomInterface as the interface definition that exposes this property.
 In the Scoped by property type box, select string.
3. Click OK.
4. Under Unmapped application properties, select SystemCode.
5. Under Unmapped SmartPlant properties, select SystemCode.
6. On the toolbar, click Map .

7. Click OK.

66 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

If the SystemCode property does not appear in the Unmapped SmartPlant properties
list after you created and exposed it on the ICustomInterface interface definition, check the
ICustomInterface definition to make sure that it is realized by the PIDInstrumentLoop class
definition and implied by the IInstrumentLoop interface.
The view definition that creates the list of unmapped properties is generated by the
software the first time you access the Edit form for a map class for each Schema Editor session.
So, if you view the list, leave it, and make changes, such as adding additional interfaces to the
class definition to which the map class is mapped, the changes you made will not appear when
you return to this form because the view definition is not updated or regenerated. You will see
the changes during your next Schema Editor session.

Map the SystemCode Property for Additional Map Class Definitions


Because multiple SmartPlant P&ID classes inherited the SystemCode property, you can create
additional mapping so that other objects can publish the property.
1. In the Map Environment tree view, right-click Instrument, and then select Edit Instrument
on the shortcut menu.
2. Select the Publish tab.
3. Under Unmapped application properties, select SystemCode.
4. Under Unmapped SmartPlant properties, select SystemCode.
5. On the toolbar, click Map .
6. Repeat steps 1-5 in this section to map the SystemCode property for any SmartPlant P&ID
map class definitions that represent objects for which you want to publish this property.
To create a retrieve mapping relationship for a property, follow the same steps on
the Retrieve tab.

Save the Tool Map Schema and SmartPlant Schema Changes


 Click File > Save All Modified Files to save the SmartPlant schema changes (CMF file)
and the tool map schema.

 When you close the Schema Editor, the software prompts you to save your connection
information, user interface options, and loaded tool map schemas to a session file. Click Yes
in the message box to save the session file so that you can use it to return to this working
environment. However, you should not open a session file after launching the CMF file from
the Desktop Client.
 If you save changes to the CMF file or a tool map schema but did not validate the changes
before exiting, the software displays an information message to remind you that the file
contains changes that have not been validated. Click OK to dismiss the message.
 If you make changes to the SmartPlant schema, you must load the changes into the
SmartPlant Foundation database. For more information, see the SmartPlant Schema Editor
User's Guide.
 Additionally, if you made changes to the SmartPlant schema, you should regenerate the
component schemas for the site before testing any publish or retrieve mapping relationships.
For more information, see the SmartPlant Schema Editor User's Guide.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 67


SmartPlant P&ID Mapping Examples

SmartPlant P&ID Example: Mapping a New Complex


Property Starting in the Tool
The following sections illustrate how to add and define mapping for a new complex property
called Engineering System and its enumerated list entries starting in Data Dictionary Manager.

Before You Extend the SmartPlant P&ID Database


1. Make a backup of the SmartPlant Foundation site database and any vaults for the site.
2. Create a backup of SmartPlant P&ID, including a database backup from the plant level with
reference data, an application-level data dictionary template (DDT), and a backup of the
SPPIDDataMap.xml file located in the SmartPlant resources directory.

Create the New Engineering System Property in Data Dictionary Manager


1. Click Start > All Programs > Intergraph SmartPlant Engineering Manager > Data
Dictionary Manager.
2. Connect to the appropriate plant server for SmartPlant P&ID.
3. Click Select List on the left side of the Data Dictionary Manager window.
4. In the first empty row in the Select List table, type EngSys as the name.
5. Select None from the Dependent List.
6. Click Select Entry on the left side of the Data Dictionary Manager window.
7. Under Selected List, select EngSys.
8. In the first empty row, create a new entry with a value of AA and a short value of Steam
Gen & Fired Htr, Water/Steam Side.

9. Click Add Row, and enter the following values, creating a new row for each:
Value Short Value
BA Steam Generator and Fired Heater, Air/Gas Side
CA Ammonia/Urea
DC Crude Oil Production
EA Auxiliary AC Power Systems

68 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

10. Click Database Tables on the left of the dialog box, and select Plant Item from the list in
the middle.

11. Click Edit > Add Property .


12. In the Add Property dialog box, create a new property with the following information:
Property Value
Name EngSystem
Display Name Engineering System
Data Type Select List
Select List EngSys
Default Value None
Category Process

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 69


SmartPlant P&ID Mapping Examples

13. Click OK.


14. Click File > Save.
15. Click File > Exit.

Launch Schema Editor and Synchronize the Tool Map Schema


The ICustomInterface must be realized by the class definitions that represent objects in this
authoring tool that will be publishing or retrieving the custom property. If you have not configured
ICustomInterface, see the Schema Editor User's Guide for more information.
1. In the Desktop Client, set your scope for the applicable plant, and then find the CMF file.
2. Right-click the CMF file, and then click Edit > Check Out.
3. Click OK in the Check Out dialog box.
4. In the New Items window, right-click the new version of the CMF file, and select Launch
Schema Editor.
5. On the Set Active Configurations dialog box, select the schema version that you want to
view.

70 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

6. Click OK to set the configuration.

 For more options, click Advanced on the Set Active Configuration dialog box.
 By default, changes to the SmartPlant Schema are written to all versions managed by
the CMF file. You can choose to write changes to only selected versions; however, that
is not recommended.
 If you choose to view one version of the schema (Specify configurations to display
window), but write changes to all versions (Set Configurations for new
objects window), an information window appears when you click OK, indicating that you
will be prompted with every change to the schema to confirm that you want to write the
changes to all versions. Click OK to continue.
7. In the Schema Editor, click File > SmartPlant > Edit Engineering Tool Options, and
select SMARTPLANTPID in the list of authoring tools to load the SmartPlant P&ID tool map
schema.
8. Under Startup options, select the Load map schema and Connect to application schema
check boxes, and click OK.
9. In each row in the Synchronize dialog box, the values in the tool database and tool map
schema columns indicate actions to correct inconsistencies between the tool metadata and
tool map schema. Select the appropriate action in each row, and then click OK.

 Each row represents a discrepancy between the tool database and the tool map
schema.
 Default actions are blue when the Synchronize dialog box appears. However, if you
select a different option, it will become blue instead.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 71


SmartPlant P&ID Mapping Examples

 In many cases, only one operation is supported to synchronize the database and map
schema. For example, if a new property was found in the database, the metadata
adapter can add the property to the tool map schema, but it cannot remove the property
from the tool database.

Add the New Enumerated List to the SmartPlant Schema and Map
1. In the Map Environment, expand SmartPlant P&ID > Loaded Map Schemas >
SmartPlant P&ID Tool Schema.
2. Expand Map Enumerated Lists, and right-click EngSys.
3. On the shortcut menu, select Edit EngSys.
4. In the Edit Map Enumerated List Definition dialog box, select the Advanced tab.
5. At the bottom of the dialog box, click New SmartPlant Enumerated List with Correlated
Entries.

This process creates an enumerated list in the SmartPlant schema with the same
name and values as the list in the tool map schema. Additionally, the software will

72 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

automatically map all the enumerations for publish. A dialog box will suggest that you can
map the enumeration for retrieve as well. Click Yes to create both publish and retrieve
mapping relationships, or No to create only publish mapping relationships.
6. Click OK in the Create Enumerated List and Entries dialog box.
Depending on your selections on the Set Active Configurations dialog box when you
launched the Schema Editor, you may be prompted to confirm that you want to create the
new list and enumerations in multiple versions of the schema.
7. In the Edit Map Enumerated List Definition dialog box, click OK.
8. In the Map Enumerated Lists node, right-click EngSys.
9. On the shortcut menu, select Edit EngSys.
10. In the Edit Map Enumerated List Definition dialog box, select the Publish tab.
11. Under SmartPlant in the upper right window, right-click EngSys.
12. On the shortcut menu, select Edit <UID>.
13. Click each entry, and under Overview, edit the number to match the values in the following
table:
Name/Short Description Number
AA 10111
BA 10112
CA 10113
DC 10114
EA 10115

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 73


SmartPlant P&ID Mapping Examples

14. Click OK.


The modification of the Number value of each enumeration is required for SmartPlant 3D
and SmartMarine 3D, which will determine the actual value assigned to each enumeration. No
other authoring tools use this value.

Add the New Property to the SmartPlant Schema


1. In the Map Classes node, right-click InstrLoop.
2. On the shortcut menu, select Edit InstrLoop.
3. Select the Publish tab.
4. Above Unmapped SmartPlant properties on the right side of the dialog box, click New
Property Definition on the toolbar.

74 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

5. In the New Property Definition dialog box, define the new SmartPlant schema
EngineeringSys property.

 In the Exposed by interface definitions box, click Browse, and


select ICustomInterface as the interface definition that exposes this property.
 In the Scoped by property type box, select EngSys.
6. Click OK.
7. Under Unmapped application properties, select EngSystem.
8. Under Unmapped SmartPlant properties, select EngineeringSys.
9. On the toolbar, click Map .
If the EngineeringSys property does not appear in the Unmapped SmartPlant
properties list after you created it and exposed it on the ICustomInterface interface definition,
check the ICustomInterface definition to make sure that it is realized by the PIDInstrumentLoop
class definition and implied by the IInstrumentLoop interface.
The view definition that creates the list of unmapped properties is generated by the
software the first time you access the Edit form for a map class for each Schema Editor session.
So, if you view the list, leave it, and make changes, such as adding additional interfaces to the
class definition to which the map class is mapped, the changes you made will not appear when
you return to this form because the view definition is not updated or regenerated. You will see
the changes during your next Schema Editor session.

Map the EngSys Property for Additional Map Class Definitions


Because multiple SmartPlant P&ID classes inherited the EngSystem property, you can create
additional mapping so that other objects can publish the property.
1. In the tree view, right-click Instrument, and then select Edit Instrument on the shortcut
menu.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 75


SmartPlant P&ID Mapping Examples

2. Select the Publish tab.


3. Under Unmapped application properties, select EngSystem.
4. Under Unmapped SmartPlant properties, select EngineeringSys.
5. On the toolbar, click Map .
6. Repeat steps 1-5 in this section to map the EngSys property for all SmartPlant P&ID map
class definitions that represent objects for which you want to publish this property.
To create a retrieve mapping relationship for a property, follow the same steps on
the Retrieve tab.

Save the Tool Map Schema and SmartPlant Schema Changes


 Click File > Save All Modified Files to save the SmartPlant schema changes (CMF file)
and the tool map schema.

 When you close the Schema Editor, the software prompts you to save your connection
information, user interface options, and loaded tool map schemas to a session file. Click Yes
in the message box to save the session file so that you can use it to return to this working
environment. However, you should not open a session file after launching the CMF file from
the Desktop Client.
 If you save changes to the CMF file or a tool map schema but did not validate the changes
before exiting, the software displays an information message to remind you that the file
contains changes that have not been validated. Click OK to dismiss the message.
 If you make changes to the SmartPlant schema, you must load the changes into the
SmartPlant Foundation database. For more information, see the SmartPlant Schema Editor
User's Guide.
 Additionally, if you made changes to the SmartPlant schema, you should regenerate the
component schemas for the site before testing any publish or retrieve mapping relationships.
For more information, see the SmartPlant Schema Editor User's Guide.

76 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

SmartPlant P&ID Example: Mapping Equipment


Classes to Publish Process Data
The following mapping example describes how to map process data for the four Equipment
classes – Equipment Other, Exchanger, Mechanical, and Vessel. The following example
explains how to map process data for the Vessel class; however, a similar procedure applies to
all the Equipment classes listed above.
The following must exist in the PIDComponent schema:
 IProcessPoint and IProcessDataCaseComposition are realized by PIDProcessVessel,
PIDMechanicalEquipment, PIDProcessEquipment, and PIDHeatTransferEquipment.
 IProcessDataCaseComposition is implied by IPIDMechanicalEquipmentOcc,
IPIDProcessVesselOcc, IPIDHeatTransferEquipmentOcc, and IEquipmentOcc.
 PIDProcessVessel, PIDMechanicalEquipment, PIDProcessEquipment, and
PIDHeatTransferEquipment must realize the interface that exposes the SmartPlant property
definitions to which you want to map. For example, in this topic, you will map
ProcessOperatingMaxTemperature to PhaseTemperatureMax, which is exposed by
IBulkMaxProcessPoint. To map a ProcessOperatingMaxTemperature property to
PhaseTemperatureMin, the class definition should realize IBulkMinProcessPoint.

Before You Extend the SmartPlant P&ID Database


1. Make a backup of the SmartPlant Foundation site database and any vaults for the site.
2. Create a backup of SmartPlant P&ID, including a database backup from the plant level with
reference data, an application-level data dictionary template (DDT), and a backup of the
SPPIDDataMap.xml file located in the SmartPlant resources directory.

Launch the Schema Editor and Load the SmartPlant P&ID Tool Map Schema
1. In the Desktop Client, set your scope for the applicable plant, and then find the CMF file.
2. Right-click the CMF file, and select Launch Schema Editor.
3. On the Set Active Configuration dialog box, select the version of the schema that you
want to view.
4. Click OK to set the configuration, and open the Schema Editor.
5. In the Schema Editor, click File > SmartPlant > Edit Engineering Tool Options, and
select SMARTPLANTPID in the list of authoring tools to load the SmartPlant P&ID tool map
schema.
6. In each row in the Synchronize dialog box, the values in the tool database and tool map
schema columns indicate actions to correct inconsistencies between the tool metadata and
tool map schema. Select the appropriate action in each row, and then click OK.

 Each row represents a discrepancy between the tool database and the tool map
schema.
 Default actions are blue when the Synchronize dialog box appears. However, if you
select a different option, it will become blue instead.
 In many cases, only one operation is supported to synchronize the database and map
schema. For example, if a new property was found in the database, the metadata
adapter can add the property to the tool map schema, but it cannot remove the property
from the tool database.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 77


SmartPlant P&ID Mapping Examples

Create and Map the MapProperty


1. In the Map Environment, expand SmartPlant P&ID > Loaded Map Schemas >
SmartPlant P&ID Tool Schema.
2. Expand the Vessel node, and right-click MapProperties.
3. Select Create SPMapPropertyDef to create a new tool property and associate it to the
Vessel class.

4. Define the property, for example, ProcessOperatingMaxPressure, in the Edit Map Property
Definition dialog box.
5. Type %ProcessPoint in the Select criteria field, and then click OK.

78 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

6. Right-click the Vessel node, and select Edit Vessel.


7. On the Advanced tab, edit the value in the Process criteria box to
EFAdapter.EqDataExchanger,True,1.

The Process criteria box is automatically filled with the value set to False. By setting
the Process criteria value to True, the SmartPlant P&ID adapter finds the extended
properties that contain the process properties for equipment.
8. Click the Publish tab.
9. In the Unmapped application properties table, select the
ProcessOperatingMaxTemperature property you created.
10. In the Unmapped SmartPlant properties table, select the PhaseTemperatureMax
property.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 79


SmartPlant P&ID Mapping Examples

11. On the toolbar, click Map .

The mapping you defined appears in the mapped objects table at the bottom of the

dialog box.
 The ProcessOperatingMinTemperature map property can be mapped to
PhaseTemperatureMin using the same process.
12. Click OK.

Save the Tool Map Schema


Click File > Save All Modified Files to save the changes to the tool map schema.
Because you did not change the SmartPlant schema, you do not need to save the CMF
file.
When you close the Schema Editor, the software offers to save your connection
information, user interface options, and loaded tool map schemas to a session file. Click Yes in
the message box to save the session files so that you can use it to return to this working
environment. However, you should not open a session file after launching the CMF file from the
Desktop Client.

Test the Publish Mapping Relationship


 Test your mapping by publishing equipment with process data related to it.

80 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

Below is an example of how the published data should appear.

SmartPlant P&ID Example: Mapping New Enumerated


List Entries Starting in the SmartPlant Schema
The following topic provides an example of adding and defining mapping for a new enumerated
list called Corrosive and its entries to the hierarchical Fluid System enumerated list starting in
the SmartPlant schema.

Before You Extend the SmartPlant P&ID Database


1. Make a backup of the SmartPlant Foundation site database and any vaults for the site.
2. Create a backup of SmartPlant P&ID, including a database backup from the plant level with
reference data, an application-level data dictionary template (DDT), and a backup of the
SPPIDDataMap.xml file located in the SmartPlant resources directory.

Launch Schema Editor and Load the SmartPlant P&ID Tool Map Schema
1. In the Desktop Client, set your scope for the applicable plant, and then find the CMF file.
2. Right-click the CMF file, and then click Edit > Check Out.
3. Click OK in the Check Out dialog box.
4. In the New Items window, right-click the new version of the CMF file, and select Launch
Schema Editor.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 81


SmartPlant P&ID Mapping Examples

5. On the Set Active Configurations dialog box, select the schema version that you want to
view.

6. Click OK to set the configuration.

 For more options, click Advanced on the Set Active Configuration dialog box.
 By default, changes to the SmartPlant Schema are written to all versions managed by
the CMF file. You can choose to write changes to only selected versions; however, that
is not recommended.
 If you choose to view one version of the schema (Specify configurations to display
window), but write changes to all versions (Set Configurations for new
objects window), an information window appears when you click OK, indicating that you
will be prompted with every change to the schema to confirm that you want to write the
changes to all versions. Click OK to continue.

7. In the Schema Editor, click File > SmartPlant > Edit Engineering Tool Options, and
select SMARTPLANTPID in the list of authoring tools to load the SmartPlant P&ID tool map
schema.
8. Under Startup options, select the Load map schema and Connect to application schema
check boxes, and click OK.

82 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

9. In each row in the Synchronize dialog box, the values in the tool database and tool map
schema columns indicate actions to correct inconsistencies between the tool metadata and
tool map schema. Select the appropriate action in each row, and then click OK.

 Each row represents a discrepancy between the tool database and the tool map
schema.
 Default actions are blue when the Synchronize dialog box appears. However, if you
select a different option, it will become blue instead.
 In many cases, only one operation is supported to synchronize the database and map
schema. For example, if a new property was found in the database, the metadata
adapter can add the property to the tool map schema, but it cannot remove the property
from the tool database.

Verify that the Corrosive Enumerated List Does Not Already Exist in the Schema
1. In the Map Environment window, select the Schema tab.
2. Find the Fluid system enumerated list in the tree view.
3. Right-click the Fluid system node, and then click View FluidSystems.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 83


SmartPlant P&ID Mapping Examples

4. In the Edit Enumerated List dialog box, review the existing list entries.

Note that Corrosive does not exist in the Fluid system list.
5. Next, check to be sure that there are not any fluid code entries with the same meaning as
the one you want to add.

Add the New Corrosive List to the SmartPlant Schema


1. In the Map Environment, return to the Tool tab.
2. Expand SmartPlant P&ID > Loaded Map Schemas > SmartPlant P&ID Tool Schema.

84 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

3. Expand the Map Enumerated Lists node, and double-click Fluid System.

4. Select the Publish tab.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 85


SmartPlant P&ID Mapping Examples

5. In the SmartPlant schema tree view on the right side of the Publish tab, right-click any entry
under the Fluid system node, and then click Create New EnumListType on the shortcut
menu.

6. In the New Enumerated List dialog box, type Corrosive as the short description of the new
list, Corrosive Fluid System as the long description, and 10100 as the number.

7. Click New Child Entry, and create a fluid code of KA with a description of (KA) Ammonia,
Anhydrous.
8. Repeat step 7 for each fluid code in the following list, and click OK.
Fluid Code (Short Description) Long Description
KA (KA) Ammonia, Anhydrous

86 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

KC (KC) Caustic
KP (KP) Process Chemical
KW (KW) Ammonia, Aqueous

Add the New Corrosive List to the SmartPlant P&ID Tool Map Schema and Map
1. In the authoring tool map schema tree view on the left side of the Publish tab, right-click
any entry under the Fluid system node, and then click Create New SPMapEnumDef.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 87


SmartPlant P&ID Mapping Examples

2. In the New SPMapEnumDef dialog box, type Corrosive in the Name field.

3. Type Corrosive Fluid System in the Description box, and then click OK.
4. The new list appears in the Unmapped application enumerations table.

5. In the Unmapped application enumerations list, select Corrosive.

88 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

6. In the Unmapped SmartPlant enumerations list, select Corrosive.

7. Click Map .
8. Click OK.

Add Entries to the Fluid Code List and Map


1. In the Map Environment, double-click Fluid Code under the Map Enumerated Lists node.
2. Above Unmapped SmartPlant enumerations on the right side of the dialog box, click New
SmartPlant Enumeration on the toolbar.
3. In the New SPMapEnumDef dialog box, create a fluid code of KA with a description of (KA)
Ammonia, Anhydrous.

4. Repeat steps 2 and 3 for each fluid code in the following list:

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 89


SmartPlant P&ID Mapping Examples

Fluid Code (Short Description) Long Description

KA (KA) Ammonia, Anhydrous


KC (KC) Caustic
KP (KP) Process Chemical
KW (KW) Ammonia, Aqueous
5. In the Unmapped application enumerations table, select a fluid code that you defined.
6. In the Unmapped SmartPlant enumerations table, select the corresponding fluid code
from the SmartPlant schema.

7. Click Map .
8. Repeat steps 5-7 for each enumerated entry in the Fluid Code list.

Save the Tool Map Schema and SmartPlant Schema Changes


 Click File > Save All Modified Files to save the SmartPlant schema changes (CMF file)
and the tool map schema.

 When you close the Schema Editor, the software prompts you to save your connection
information, user interface options, and loaded tool map schemas to a session file. Click Yes
in the message box to save the session file so that you can use it to return to this working
environment. However, you should not open a session file after launching the CMF file from
the Desktop Client.
 If you save changes to the CMF file or a tool map schema but did not validate the changes
before exiting, the software displays an information message to remind you that the file
contains changes that have not been validated. Click OK to dismiss the message.
 If you make changes to the SmartPlant schema, you must load the changes into the
SmartPlant Foundation database. For more information, see the SmartPlant Schema Editor
User's Guide.
 Additionally, if you made changes to the SmartPlant schema, you should regenerate the
component schemas for the site before testing any publish or retrieve mapping relationships.
For more information, see the SmartPlant Schema Editor User's Guide.

90 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


SmartPlant P&ID Mapping Examples

Review New Corrosive List in Data Dictionary Manager


1. Click Start > All Programs > Intergraph SmartPlant Engineering Manager > Data
Dictionary Manager.
2. Connect to the appropriate plant server for SmartPlant P&ID.
3. Click Select Entry.
4. In the Selected list box, select Fluid System, and review the new Corrosive entry in the
table.

5. In the Selected list box, click Fluid Code, and review the entries that you added in the
table.

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 91


APPENDIX A

UML Diagrams for Published Schema for


SmartPlant P&ID
System implementers need a broader overview of the schema used to represent the published
data. For instance, this can be helpful when evaluating potential improvements to work
processes that involve sharing this data with other applications. It is for this purpose that these
UML diagrams are provided.
These diagrams may include references to schema property definitions and relationship
definitions that are not seen in the tool schemas because some SmartPlant application adapters
do not utilize the tool schema when creating data. These diagrams include the property
definitions and relationship definitions created by the adapter even when not included in the tool
schema.
The diagrams were generated using the Construct schema views for data objects command
that reads a published data file and determines the portion of the SmartPlant schema used to
represent it. This command can be used by administrators to automatically generate similar
diagrams for their own custom implementations of SmartPlant Enterprise. For more information,
see Create UML Diagrams for Published Data.
Each UML displays the following:
 Class definitions (ClassDefs) and classes (instances of ClassDefs) are represented by
rectangles. An instance of a class is an object that is published by an integrated application.
 Interface definitions (InterfaceDefs) are represented as rectangles. Interface definitions are
connected to a class definition (through Realizes relationships).
 Relationship definitions (RelDefs) and relationships (instances of RelDefs) between two
interface definitions are represented as lines. The interface definitions at both ends of each
relationship definition are displayed.
If there are other relationships in the data file that apply to either of these interface
definitions, they are also added to the UML diagram regardless of whether they apply to the
class definition for the UML diagram.
 Implies and Realizes relationships are identified by solid or broken lines. Required Implies
and Realizes relationships are identified by bold text on the relationship.
 The Primary Interface of a class is a separate relationship between the ClassDef and the
primary InterfaceDef.
 Relationship definitions (RelDefs) have a name, two roles, two cardinalities, plus an optional
stereotype.
 Relationship definitions may be abstract or concrete. Abstract relationship definitions are
used to group similar relationship definitions (at a higher-level). There are no instances of an
abstract relationship definition, which means relationships that have a definition type of
abstract are not published.
 Boxes numbered 1 and 2 at the ends of the associations identify the direction of the
association; for example, interface 1 (the source) implies interface 2 (the destination).
 A stereotype represents a subclass of an existing modeling element with the same form, but
with a different intent. Generally, a stereotype represents a usage distinction (possibly
additional constraints from the base class). For example, the model may express a general
(abstract) relationship definition between two roles, but a specific instance of the relationship

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 93


UML Diagrams for Published Schema for SmartPlant P&ID

definition would have its own set of overriding cardinalities and semantics. An example is the
<<Implies>> relationship between two interfaces. Stereotypes are surrounded with
guillemots (<< and >>).

 For each interface definition added as a result of displaying relationship definitions that
are not realized by the class definition, one or more class definitions that do realize that
interface definition are added to the diagram.
 If more than two class definitions are found that realize the interface definition, the
text Realized by multiple class definitions is added to the diagram.
The following section contains UML diagrams for the delivered published map schema file.

In This Appendix
PIDControlSystemFunction ........................................................... 95
PIDDrawing .................................................................................... 96
PIDInlineInstrument ....................................................................... 97
PIDInstrument ................................................................................ 98
PIDInstrumentLoop ........................................................................ 99
PIDNote ......................................................................................... 99
PIDNozzle ...................................................................................... 100
PIDPipingComponent .................................................................... 101
PIDPipingConnector ...................................................................... 102
PIDPipingPort ................................................................................ 103
PIDRepresentation ........................................................................ 103
PIDSignalConnector ...................................................................... 104
PIDSignalPort ................................................................................ 105
PIDPipeline .................................................................................... 106
PIDProcessEquipment................................................................... 107
PIDMechanicalEquipment ............................................................. 108
PIDHeatTransferEquipment:.......................................................... 109
PIDProcessVessel ......................................................................... 110
PIDBranchPoint ............................................................................. 111
PIDPipingBranchPoint ................................................................... 112
PIDProcessPoint ............................................................................ 113

94 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


UML Diagrams for Published Schema for SmartPlant P&ID

PIDControlSystemFunction

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 95


UML Diagrams for Published Schema for SmartPlant P&ID

PIDDrawing

96 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


UML Diagrams for Published Schema for SmartPlant P&ID

PIDInlineInstrument

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 97


UML Diagrams for Published Schema for SmartPlant P&ID

PIDInstrument

98 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


UML Diagrams for Published Schema for SmartPlant P&ID

PIDInstrumentLoop

PIDNote

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 99


UML Diagrams for Published Schema for SmartPlant P&ID

PIDNozzle

100 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


UML Diagrams for Published Schema for SmartPlant P&ID

PIDPipingComponent

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 101


UML Diagrams for Published Schema for SmartPlant P&ID

PIDPipingConnector

102 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


UML Diagrams for Published Schema for SmartPlant P&ID

PIDPipingPort

PIDRepresentation

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 103


UML Diagrams for Published Schema for SmartPlant P&ID

PIDSignalConnector

104 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


UML Diagrams for Published Schema for SmartPlant P&ID

PIDSignalPort

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 105


UML Diagrams for Published Schema for SmartPlant P&ID

PIDPipeline

106 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


UML Diagrams for Published Schema for SmartPlant P&ID

PIDProcessEquipment

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 107


UML Diagrams for Published Schema for SmartPlant P&ID

PIDMechanicalEquipment

108 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


UML Diagrams for Published Schema for SmartPlant P&ID

PIDHeatTransferEquipment:

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 109


UML Diagrams for Published Schema for SmartPlant P&ID

PIDProcessVessel

110 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


UML Diagrams for Published Schema for SmartPlant P&ID

PIDBranchPoint

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 111


UML Diagrams for Published Schema for SmartPlant P&ID

PIDPipingBranchPoint

112 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


UML Diagrams for Published Schema for SmartPlant P&ID

PIDProcessPoint

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 113


UML Diagrams for Published Schema for SmartPlant P&ID

114 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID


Index

‘ G
‘Same As’ • 47 General • 49
‘Virtual’ Objects • 41 General Architecture • 9

A H
Adding Symbols • 50 Hard-Coded References • 35
Hierarchical Enum Lists • 33
B
Background Publish • 57 I
Boolean to Enum (BoolToEnumConv.cls) • Instruction Callbacks • 51
25 Instructions • 50
Instrument • 31
C Instrument Loops • 38
ClassDef Integration Behavior • 18
Classes • 47 L
Component Flow Direction Limitations • 13, 46
(CompFlowDirConv.cls) • 25 Log Files • 53
Connection Point Flow Direction
(PortFlowDirectionConv.cls) • 26 M
Constructed UIDs • 55
Correlation • 45 Missing Items • 51
Creation of SameAs • 47
N
D Nominal Diameter
Data Transformation Logic • 15 (NominalDiameterConv.cls) • 26
Delete Instruction • 50
Document Type Configuration • 11 O
Document Types • 11 Objects (Classes) • 16
Drawing • 32
P
E PIDBranchPoint • 111
EFClient.log • 53 PIDControlSystemFunction • 95
EFCommonUI_DBG • 53 PIDDrawing • 96
Enum Conversions (EnumConversions.cls) PIDHeatTransferEquipment: • 109
• 26 PIDInlineInstrument • 97
Enum Entry • 21 PIDInstrument • 98
Enum List • 20 PIDInstrumentLoop • 99
Enum to Boolean (EnumToBoolConv.cls) • PIDMechanicalEquipment • 108
26 PIDNote • 99
Enum to String (EnumToStringConv.cls) • PIDNozzle • 100
26 PIDPipeline • 106
Enums • 20 PIDPipingBranchPoint • 112
Equipment • 30 PIDPipingComponent • 101
Exceptions • 48 PIDPipingConnector • 102

SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID 115


Index

PIDPipingPort • 103 Symbols • 49


PIDProcessEquipment • 107
PIDProcessPoint • 113 T
PIDProcessVessel • 110
PIDRepresentation • 103 Tag Prefix (TagPrefixConv.cls) • 27
PIDSignalConnector • 104 Tombstones • 43
PIDSignalPort • 105 Tool Schema Data Model • 15
PipeLine • 32 ToolBatch Publish • 58
Pipeline Key Attributes • 42
Pipelines • 41 U
PipeRun • 31 UML Diagrams for Published Schema for
Piping Connector Name SmartPlant P&ID • 93
(PpConnNameConv.cls) • 27 UOM Conditions • 24
Preface • 7 UOM Entries • 23
Properties • 19 Uom to Double (UoMToDoubleConv.cls) •
Property Data Conversions • 25 27
Publish • 12 Uom to Enum UoMToEnumConv.cls) • 27
Publish Modes • 57 UoMList • 22
Publish Now • 57 UOMs • 22
Publish Scope • 39 Update Instruction • 51
Publish/Retrieve • 16, 29
Publishing • 29
Publishing Pipelines • 42
Publishing Relationships • 35

R
Relationships • 24
Resurrection Instruction • 51
Retrieve • 12
Retrieved Tasks • 49
Retrieving • 36
Retrieving Symbols • 49

S
Satellites • 59
Select Property Criteria • 37
SmartPlant P&ID Example
Mapping a New Complex Property
Starting in the Tool • 68
Mapping a New String Property Starting
in the Tool • 61
Mapping Equipment Classes to Publish
Process Data • 77
Mapping New Enumerated List Entries
Starting in the SmartPlant Schema • 81
SmartPlant P&ID Mapping Examples • 61
SmartPlant P&ID Publish-Retrieve
Relationships • 11
Special Case • 50
Special cases • 38
Special Cases • 30, 45
SPPIDEFLog.log • 53

116 SmartPlant Enterprise SmartPlant Adapter for SmartPlant P&ID

You might also like