SPAdapter SPPID
SPAdapter SPPID
SPAdapter SPPID
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
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
Correlation ................................................................................................................................................. 45
Special Cases ....................................................................................................................................... 45
Limitations ............................................................................................................................................. 46
‘Same As’.................................................................................................................................................... 47
Creation of SameAs .............................................................................................................................. 47
Classes ................................................................................................................................................. 47
Exceptions ............................................................................................................................................. 48
Satellites ..................................................................................................................................................... 59
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
Preface
This document describes details, functionality, and configuration of SmartPlant Adapter for
SmartPlant P&ID.
Send documentation comments or suggestions to [email protected].
General Architecture
Document Types
SmartPlant P&ID – PIDDrawing
SmartPlant Electrical – ELEDocument
SmartPlant Instrumentation – InstrumentIndex
Aspen Basic Engineering – PFDDocument
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
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).
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.
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.
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.
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).
- Supported
- Unsupported
Drawing
EquipComponent
Equipment
EquipmentOther
Exchanger
InstrLoop
Instrument
InstrumentCtrlSysFunc
InstrumentInline
ItemNote
Mechanical
Nozzle
OPC
Pipeline
Piperun
PipingBranchPoint
PipingComp
PipingPoint
Representation
- Supported
- Unsupported
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).
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.
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.
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.
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.
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
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.
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.
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.
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:
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.
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.
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.
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:
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
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:
* Only specialty Piping Components are retrieved and are recognized by their
commoditySpecialtyType property.
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
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.
‘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
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
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
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
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.
Limitations
The design basis doctrine is limited to 10 SameAS UIDs, meaning – SmartPlant P&ID can
retrieve from at most 10 different authoring tools.
‘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’:
PIDProcessEquipment
PIDProcessVessel
PIDInlineInstrument SharedInstrument_PM
PIDInstrument
PIDInstrumentLoop SharedInstrumentLoop
PIDSignalConnector
PIDNozzle SharedNozzle_PM
PIDPipingComponent SharedPipingComponent_PM
PIDProcessEquipmentComponent SharedEquipmentComp_PM
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.
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.
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.
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.
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.
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.
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:
Example:
PRP-9E48768ACF5047D3AF139AD5C02C70AF.PPT-9E48768ACF5047D3AF139AD5C02C70
AF
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.
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).
Satellites
Publish/Retrieve is not currently supported from SmartPlant P&ID Workshare Satellites.
6. Click File > Save to save your changes in Data Dictionary Manager.
7. Click File > Exit.
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.
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.
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.
7. Click OK.
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.
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.
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
10. Click Database Tables on the left of the dialog box, and select Plant Item from the list in
the middle.
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.
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
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
5. In the New Property Definition dialog box, define the new SmartPlant schema
EngineeringSys property.
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.
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.
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.
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.
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.
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.
5. On the Set Active Configurations dialog box, select the schema version that you want to
view.
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.
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.
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.
3. Expand the Map Enumerated Lists node, and double-click Fluid System.
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
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.
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.
7. Click Map .
8. Click OK.
4. Repeat steps 2 and 3 for each fluid code in the following list:
7. Click Map .
8. Repeat steps 5-7 for each enumerated entry in the Fluid Code list.
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.
5. In the Selected list box, click Fluid Code, and review the entries that you added in the
table.
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
PIDControlSystemFunction
PIDDrawing
PIDInlineInstrument
PIDInstrument
PIDInstrumentLoop
PIDNote
PIDNozzle
PIDPipingComponent
PIDPipingConnector
PIDPipingPort
PIDRepresentation
PIDSignalConnector
PIDSignalPort
PIDPipeline
PIDProcessEquipment
PIDMechanicalEquipment
PIDHeatTransferEquipment:
PIDProcessVessel
PIDBranchPoint
PIDPipingBranchPoint
PIDProcessPoint
‘ 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
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