ADI / IDS 15926 P&ID format specification



P&ID File Specification

[pic]



POSC Caesar – FIATECH

Intelligent Data Sets - Accelerating Deployment of ISO15926

Realizing Open Information Interoperability

|Rev |Date |Description |Author |Check |

|1.0 |03/12/2008 |First Draft |AP | |

|1.1 |27/01/2009 |Amended to match schema 3.3.1 |AP | |

|1.2 |29/01/2009 |Amended to match schema 3.3.3 |AP | |

|1.3 |17/02/2009 |Amended AnnotationItem and CrossPageConnection |AP | |

|1.4 |18/02/2009 |Added ComponentType to AnnotationItem |AP | |

|1.5 |05/10/2009 |Corrected InstrumentLoop definition |AP | |

Holds :



Executive Summary

Table of Contents

1. INTRODUCTION 7

1.1. Background 7

1.2. Purpose 7

1.3. Scope 7

1.4. Associated Documents 7

1.5. Document Notation 7

2. MODEL DETAILS 8

2.1. File Document Structure 8

2.2. Topology 10

2.2.1. PipingNetworkSegment Topology (Connection element) 10

2.2.2. SignalLine Topology (Connection element) 14

2.2.3. Connections across drawings 14

2.3. Geometries (Axis and Reference) 14

2.4. Character encoding 15

2.5. TagName Referencing 16

2.6. PersistentID referencing 16

3. SHARED ATTRIBUTE DEFINITIONS 17

3.1. ID 17

3.2. TagName 17

3.3. Specification 17

3.4. StockNumber 17

3.5. ComponentName 17

3.6. ComponentClass 18

3.7. ComponentType 18

3.8. Revision 18

3.9. Status 18

3.10. Units 18

4. ELEMENT DEFINITIONS 19

4.1. PlantModel 19

4.2. AnnotationItem 21

4.3. Association 22

4.4. Axis 22

4.5. BsplineCurve 23

4.6. CenterLine 24

4.7. Circle 25

4.8. Component 26

4.9. CompositeCurve 27

4.10. Connection 28

4.11. ConnectionPoints 28

4.12. ConnectionType 30

4.13. ControlPoints 31

4.14. ControlPointWeight 31

4.15. Coordinate 31

4.16. CrossPageConnection 32

4.17. Description 33

4.18. Discipline 33

4.19. Drawing 33

4.20. DrawingBorder 34

4.21. Ellipse 35

4.22. EndDiameter 36

4.23. Equipment 37

4.24. Extent 38

4.25. FabricationCategory 38

4.26. GenericAttribute 39

4.27. GenericAttributes 39

4.28. Height 40

4.29. History 40

4.30. Identifier 41

4.31. IdentifierElement 41

4.32. InsideDiameter 42

4.33. InstrumentComponent 42

4.34. InstrumentConnection 43

4.35. InstrumentLoop 44

4.36. InsulationSymbol 45

4.37. KnotMultiplicities 45

4.38. Knot 46

4.39. Knots 46

4.40. Label 46

4.41. Line 47

4.42. LinkedPersistentID 48

4.43. Location 48

4.44. Manufacturer 49

4.45. Material 49

4.46. MaterialDescription 49

4.47. Max 50

4.48. MaximumDesignPressure 50

4.49. MaximumDesignTemperature 51

4.50. MaximumOperatingPressure 51

4.51. MaximumOperatingTemperature 52

4.52. Min 52

4.53. MinimumDesignPressure 53

4.54. MinimumDesignTemperature 53

4.55. MinimumOperatingPressure 54

4.56. MinimumOperatingTemperature 54

4.57. ModelNumber 54

4.58. Multiplicity 55

4.59. NominalDiameter 55

4.60. NormalDesignPressure 56

4.61. NormalDesignTemperature 56

4.62. NormalOperatingPressure 57

4.63. NormalOperatingTemperature 57

4.64. Nozzle 58

4.65. NozzleType 59

4.66. OperatorType 59

4.67. OutsideDiameter 59

4.68. PConnectionPoints 60

4.69. PersistentID 60

4.70. PipeConnectorSymbol 61

4.71. PipeFlowArrow 61

4.72. PipingComponent 62

4.73. PipingNetworkSegment 64

4.74. PipingNetworkSystem 65

4.75. PipingSystem 67

4.76. PlantArea 67

4.77. PlantInformation 67

4.78. PlantItem 68

4.79. PolyLine 69

4.80. Position 70

4.81. Presentation 71

4.82. ProcessInstrument 72

4.83. PropertyBreak 73

4.84. Rating 73

4.85. Reference 74

4.86. Remark 74

4.87. Scale 75

4.88. ScopeBubble 75

4.89. Shape 76

4.90. ShapeCatalogue 77

4.91. SignalConnectorSymbol 78

4.92. SignalLine 78

4.93. StartDiameter 79

4.94. String 79

4.95. Supplier 80

4.96. Surface 80

4.97. System 80

4.98. TestPressure 80

4.99. Text 81

4.100. Transaction 84

4.101. TrimmedCurve 84

4.102. UnitsOfMeasure 87

4.103. WallThickness 88

4.104. Weight 88

4.105. WeightsData 89

INTRODUCTION

1 Background

The P&ID profile file specification is being development as part of the IDS-ADI projects working on ISO15926.

2 Purpose

The purpose of this document is to bring together the knowledge required to exchange P&IDs via the XMpLant 3.3 file format between software vendors. This work will initially be agreed and used by the vendors of the Matrix 1 project to produce a demo in April 2009. Its’ use beyond April 2009 has not at this stage been agreed. This document should enable developers to more quickly understand and implement the P&ID profile.

3 Scope

This document details the encoding of P&ID content only.

This document only details the XML file structure and contents and doesn’t detail any application integration APIs.

Readers of this document should have a reasonable understanding of XML version 1.0.

The output must conform to the profile XML schema.

While every attempt has been made to ensure that the examples within this document are accurate they may not have been validated against the profile schema and may contain typographical or content errata.

Element order is significant. The order enforced by the schema is inherited elements first then local element content. Element ordering within XMpLant of elements declared together is usually insignificant due to the heavy use of choice blocks in the schema. I have sought to note where element ordering is significant but the reader may have to refer to the schema [3] .

4 Associated Documents

[1] ISO15926 P&ID Model, Adrian Laud, v2.5, Jan 2009

[2] XMpLant Schema, Adrian Laud, v3.3.3, Jan 2009

[3] XMpLant P&ID Profile Schema 3.3.3, Andrew Prosser, v1.0, Jan 2009

[4] ISO 15926 RDL repository,

5 Document Notation

Where the notation ‘…’ is used in examples it implies content that has been omitted due to it not being relevant for the example.

Elements in examples have been abbreviated to to show structure but limit content.

MODEL DETAILS

1 File Document Structure

The document structure is defined in the XML schema for the P&ID profile (See [3] ). An output file that conforms to this document must validate against the profile schema.

The first line of the file must be an XML declaration, for example :-

The document is to be encoded using UTF-8

The root node of a file is a PlantModel element. See 4.1 for the definitions of its attribute and element contents.

Elements are not defined within an XML namespace and so are not namespace qualified.

The following class model provides an overview of the significant structural elements contained within a P&ID profile. The arrows indicate and parent/child element relationship in the file. The elements and their attributes are defined in section 4 of this document. Child elements of the ShapeCatalogue element have been omitted for clarity. Geometric and annotation elements have also been omitted.

[pic]

2 Topology

Two elements within the file format are used to represent explicit connectivity between engineering components. These elements are :-

• Connection - on the PipingNetworkSegment and SignalLine elements

• CrossPageConnection – on the PipeConnectorSymbol and SignalConnectorSymbol elements

1 PipingNetworkSegment Topology (Connection element)

Components within a PipingNetworkSegment are considered to be implicitly connected, by their main flow in and flow out connections points, in the order that they are represented in the PipingNetworkSegment. This ordering may differ between a P&ID and 3D model (see 4.73)

Each PipingNetworkSegment is a collection of Components with common engineering properties that define a single process flow. Where there is a junction in the flow or a change of specification the PipingNetworkSegment will terminate and be connected to PipingNetworkSegments for each subsequent flow. Subsidiary flows or connections for the purposes of instrumentation are not considered as terminating conditions for a PipingNetworkSegment

A PipingNetworkSegment, as its upstream or head reference (PipingNetworkSegment/Connection/@FromID), will reference a Nozzle, InstrumentConnection, splitting component (such as a Tee, Wye, Cross, Three Way Valve etc), Reducer, ProcessInstrument or PropertyBreak that it doesn’t contain or it will reference a PipeConnectorSymbol that it contains as its first engineering component for connections to other drawings.

[pic]

A PipingNetworkSegment, as its downstream or tail reference (PipingNetworkSegment/Connection/@ToID), will reference a Nozzle, InstrumentConnection, merging component (such as a Tee, Wye or Cross), ProcessInstrument or PropertyBreak that it doesn’t contain or it will reference a splitting component (such as a Tee, Wye or Cross), Reducer or PipeConnectorSymbol that it contains as its last engineering component.

[pic]

References to contained components by the Connection element, with the exception of PipeConnectorSymbol elements, require a ToNode attribute which references the downstream ConnectionPoint of the component (i.e. the main flow out of the segment).

Components contained by other segments must be referenced using a ToNode or FromNode attribute as appropriate.

References to Nozzle, PipeConnectorSymbol, PropertyBreak and ProcessInstrument elements do not require a ToNode/FromNode attribute.

The following diagrams demonstrates all permissible PipingNetworkSegment relationships expressed via the Connection element :-

[pic]

[pic]

2 SignalLine Topology (Connection element)

TODO. This part of the overall specification has not been clarified

3 Connections across drawings

Connections across drawings are managed by the CrossPageConnection element that is present on PipeConnectorSymbol and SignalConnectorSymbol elements. The connection is expressed by the following :-

• DrawingName - Identifying the drawing that the connection is to (optional)

• LinkLabel – A unique key used to match with another Connector Symbol (optional)

• LinkedPersistentID – The PersistentID of the connected Connector Symbol (optional)

Connections are only valid if :-

• The matching criteria are met in both directions

• The connection elements are of the same type e.g. PipeConnectorSymbol -> PipeConnectorSymbol

For Example :-

The following would be matched if in the appropriate drawing files. .

See 4.16 for further information

3 Geometries (Axis and Reference)

All geometries in a P&ID file are accompanied by Axis and Reference elements. These define rotations around 3 dimensional axis that define how to map the coordinates defined for the item into the target environment. For most 2D drawing work the following values give the expected behaviour (i.e. the coordinates are defined in the 2D drawing plane).

Some curve primitives such as ellipses in XMpLant require more complex use of Axis and Reference in order to define the 2D forms.

The value defines a unit vector in 3D space about which an object should rotate. For 2D diagrams nearly all geometries will define this element as which denotes a vector aligned with the Z-axis.

The element defines what is effectively the rotation about the element. When you see the value written as it indicates that the X-Axis with which the object’s points are defined use the same X-Axis on the output surface/window with which to orientate – in other words no rotation is required when you have the following paired elements;

Common variations include :-

Inverted z axis (flip around y axis) :

Rotation about the origin :

Where :-

[sinØ] – is the sine of the rotation angle

[cosØ] – is the cosine of the rotation angle

The rotation is measured anti-clockwise

4 Character encoding

XMpLant is encoded using UTF-8. This means that most characters used in western languages are encoded using a single byte representation, more complex characters are encoded using either a 2 byte encoding or a numerical substitution.

5 TagName Referencing

TagName attributes may be used to reference elements instead of referencing by the ID attribute. The P&ID profile prefers the use of ID referencing as it gives a consistent referencing mechanism that can be used regardless of the presence of a Tag attribute.

If TagName attributes are used then there is a special case for referencing Nozzle elements. In this instance the TagName is only unique within the scope of the containing Equipment element so the Equipment TagName must also be included in the reference. The reference must have the form - and can only be used where the component doesn’t contain a ‘-‘ character.

For Example :

Where :

Equipment/@TagName = ‘VP-1234-DNJ09’

Equipment/Nozzle/@TagName = ‘N1’

The reference would be :

VP-1234-DNJ09-N1

6 PersistentID referencing

As long as the context attribute used to scope PersistentID elements is at least equal in scope to the file scope then PersistentID attributes may be used for cross referencing elements. The PersistentID/@Identifier value is supported in any ItemId attribute. The PersistentID/@Context is not specified when referencing by PersistentID.

SHARED ATTRIBUTE DEFINITIONS

1 ID

The ID attributes of the elements must conform to XML identity constraints. See for more details. These id values may be used for cross referencing elements and are transient. i.e. these ids are generated for each version of the file and cannot be used to match file contents between two different exports of the same drawing.

For example :-

2 TagName

This should contain the full TagName for an item without additional text. This is an xsd:string attribute with no specific validation (see Character encoding for character constraints)

3 Specification

This is to be the name of the relevant pipe specification for the component. This is a free text field but should only contain the name of the specification.

4 StockNumber

This is defined as

‘A code that will identify a purchasable plant item‘

‘The StockNumber attribute contains the unique name of this component that can be used to relate to the complete set of information that is contained in the vendor catalogue for the component. This attribute taken with the Specification and NominalDiameter will identify a specific item, fully defining its parameters size and optionally material and all other information available for it.’

This attribute is an xsd:string attribute and has no specific validation or constraints other than those defined in the ‘Character encoding’ section of this document.

5 ComponentName

If present on a component that is inside a ShapeCatalogue element then this is the unique id for the symbol within the file.

If present on a component that is not inside a ShapeCatalogue element then this is the reference to the geometry of the components symbol. The component may have additional annotation defined within it. The symbol referenced may be scaled (See Scale) or rotated (See Geometries (Axis and Reference)) by the Position element.

6 ComponentClass

This attribute is the RDL Designation field from the ISO 15926 RDL specification. The value of this field is converted to Camel Case with all spaces removed. Notes : some fields contain characters that must be substituted when written in XML (e.g. ‘&’ characters must be substituted with &). For example

GATE VALVE -> GateValve

CENTRIFUGAL PUMP -> CentrifugalPump

7 ComponentType

TODO

8 Revision

If known this attribute should contain the revision or version of the item. This has the type of xsd:string and therefore has no specific syntax or format constraints other than those detailed in Character encoding.

9 Status

One of the following values :-

- ‘Current’ – This implies this is the latest version of an item

- ‘Deleted’ – This item has been superseded or removed from the drawing.

- ‘Modified’ – The last change to this item was a modification.

- ‘New’ – This is the first version of the item in the drawing.

Items marked as ‘Deleted’ may be ignored by an import.

10 Units

Units of measure are from the ISO15926 RDL catalogue using the name from the catalogue converted to camel-case. All measurement values such as distances and pressures are either accompanied by their units of measure or defaulted to the value provided on the PlantInformation/UnitsOfMeasure element. The unit of measure for the coordinate geometry is stipulated in the PlantInformation/@Units attribute. The permitted values are as follows, all values are case sensitive :-

Angle :

Degree, Radian, deg, rad

Area :

SquareMillimetre, SquareCentimetre, SquareMetre, SquareKilometre, SquareInch, SquareFoot, SquareYard, SquareMile, sq mm, sq cm, sq m, sq km

Distance :

Micron, Millimetre, Centimetre, Decimetre, Metre, Kilometre, Inch, Foot, Yard, Mile, mm, cm, m, km, in, ft, yd

Temperature :

DegreeKelvin, DegreeCelsius, DegreeRankine, DegreeFahrenheit, degC, degF, degK

Pressure :

MillinewtonMetreSquared, NewtonMetreSquared, KilonewtonMetreSquared, Picopascal, Micropascal, Millipascal, Pascal, Kilopascal, Megapascal, Gigapascal, Bar, Bara, Barg

Volume :

CubicMillimetre, CubicCentimetre, CubicMetre, CubicInch, CubicFeet, CubicYard, cc, litres, gallons, USGallons, barrels

Weight :

Microgram, Milligram, Gram, Kilogram, Megagram, PoundMass, OunceMass, mg, Kg, lb, oz

ELEMENT DEFINITIONS

1 PlantModel

This is the root node of an XMpLant document and only exists as the root node of an XMpLant file. Other than the first two child elements, PlantInformation and Extent, the ordering of child elements within a PlantModel element is not significant.

There shouldn’t be any need to place graphical elements into a PlantModel element as all drawing annotation such as borders and floating text should be child elements of the drawing element.

While a Position element may be provided is has no attached semantics and is often defaulted to 0,0,0.

Child Elements :

|Element Name |Cardinality |Description |

|PlantInformation |1 |The properties of a plant model |

| | | |

| | |This includes properties like its name, modification date, editing system etc. |

| | | |

| | |The PlantInformation element must be the first child element of a PlantModel |

| | |element. |

|Extent |1 |The minimum bounding rectangle that encloses the full graphical contents of the |

| | |PlantModel instance. |

| | | |

| | |The Extent element must be the second child element of a PlantModel element |

|BsplineCurve |0..* |A geometric primitive |

|Circle |0..* |A geometric primitive |

|CompositeCurve |0..* |A composite geometry |

|Drawing |1 |Metadata and graphical annotation related to the P&ID drawing being represented |

|Ellipse |0..* |A geometric primitive |

|Equipment |0..* |The representation of a piece of plant equipment. |

|GenericAttributes |0..* |Source system properties that relate to the XMpLant file and plant model. These |

| | |properties may be grouped into many GenericAttributes elements. |

|InstrumentComponent |0..* |An offline instrument |

|InstrumentLoop |0..* |A grouped set of instrument detail |

|Line |0..* |A geometric primitive |

|PipingNetworkSystem |0..* |An Engineering PipingNetworkSystem element |

|PipingSystem |0..* |TODO |

|PlantArea |0..* |A place holder for Area information |

|PolyLine |0..* |A geometric Primitive |

|Position |0..1 |Usually defaulted to 0,0,0 if output. |

|Presentation |0..* |Style information for this object. In this context it has no meaning and should be |

| | |omitted. |

|ProcessInstrument |0..* |Offline instruments connected to the process line. |

|Shape |0..* |A geometric primitive |

|ShapeCatalogue |0..* |A catalogue of Equipment and PipingComponent symbols. |

|SignalConnectorSymbol |0..* |A connection between drawings for signals |

|SignalLine |0..* |A connection between instruments. |

|System |0..* |TODO |

|Text |0..* |Label primitives |

|TrimmedCurve |0..* |A geometric primitive |

Attributes :

|Attribute Name |Required |Description |

|xmlns:xsi |Y |Must be set to ‘’ |

|xsi:noNamespaceSchemaLocation |Y |Must be set to |

| | |‘.\XMpLantSchema.xsd’ |

Example :



2 AnnotationItem

This element is a base abstract type of many elements within an XMpLant file, it defines the common elements and attributes for these items.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |0..1 | |

|Extent |1 | |

|PersistentID |0..* | |

|Position |1 | |

|Scale |0..1 | |

|Circle |0..* | |

|CompositeCurve |0..* | |

|ConnectionPoints |0..* | |

|Ellipse |0..* | |

|Line |0..* | |

|PolyLine |0..* | |

|Shape |0..* | |

|TrimmedCurve |0..* | |

|BsplineCurve |0..* | |

|Text |0..* | |

|Description |0..1 | |

|GenericAttributes |0..* | |

|History |0..1 | |

|Association |0..* | |

Attributes :

|Attribute Name |Required |Description |

|ID |Y |The unique identity for the item in the file. See ID |

|ComponentClass |N |See ComponentClass |

|ComponentName |N |See ComponentName |

|ComponentType |N |See ComponentType |

|Revision |N |See Revision |

|Status |N |See Status |

Example :

N/a since the type is abstract

3 Association

The Association element is used to relate engineering items to other resources.

One documented use of this is to relate in-line ProcessInstrument elements with InstrumentLoop elements. In this case each in-line ProcessInstrument element has an Association child element which details the relationship using the Type attribute with a value of ‘is a part of’.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Type |Y |The meaning/semantics of the relationship. See [3] for the permitted values. |

|ItemID |N |The ID or PersistentID/@Identifier attribute value of the item being referenced. |

|TagName |N |The TagName attribute value of the item being referenced. (See TagName Referencing) |

|Name |N |The Name attribute value of the item being referenced. |

|URI |N |A URI identifying an associated resource |

|Context |N |If omitted then the resource is assumed to be part of the model in the same file. If you want|

| | |to state the context as the current model then use the value ‘XMpLant’. |

Example :

...

4 Axis

See Geometries (Axis and Reference)

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|X |Y | |

|Y |Y | |

|Z |Y | |

Example :

5 BsplineCurve

Geometric curve primitive detailing a B spline.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |0..1 |The style to use when drawing the B spline. The drawing behaviour is undefined if |

| | |the Presentation element is missing. |

|Extent |1 |The minimum bounding geometry of this element and its descendants |

|ControlPoints |1 | |

|KnotMultiplicities |0..1 | |

|Knots |0..1 | |

|WeightsData |0..1 | |

|GenericAttributes |0..1 |Any application specific attributes relating to the Bspline |

Attributes :

|Attribute Name |Required |Description |

|Degree |Y | |

|CurveType |Y |One of the following : ‘BsplineCurve’, ‘BsplineCurveWithKnots’ or ‘RationalBsplineCurve’.|

|CurveForm |N |One of the following : ‘PolyLine’, ‘CircularArc’, ‘EllipticArc’, ‘ParabolicArc’ or |

| | |‘HyperbolicArc’ |

|NumControlPoints |Y | |

|NumKnots |N | |

|Closed |N |‘true’ or ‘false’ |

|SelfIntersect |N |‘true’ or ‘false’ |

Example :

0

1

4

4

1

1

1

1

6 CenterLine

Geometric curve primitive detailing the line geometry between the components of a PipingNetworkSegment. A CenterLine element is used to imply the presence of tubing. The interpolation between each coordinate is linear.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |0..1 |The style to use when drawing the line. The drawing behaviour is undefined if the |

| | |Presentation element is missing. |

|Extent |1 |The minimum bounding geometry of the CenterLine element and its descendants |

|Coordinate |1..* |The coordinates defining the line primitive |

|PersistentID |0..* | |

|GenericAttributes |0..* |Any application specific attributes relating to the tube/CenterLine |

Attributes :

|Attribute Name |Required |Description |

|NumPoints |Y |The number of child Coordinate elements. |

|ID |N |The unique identity of the item in the file. See ID |

Example :

7 Circle

A geometric primitive describing a circle.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |1 |The style to use when drawing the circle |

|Extent |1 |The minimum bounding geometry of the circle |

|Position |1 |The location of the circles centre |

|GenericAttributes |0..* |Any application attributes relating to the circle |

Attributes :

|Attribute Name |Required |Description |

|Radius |Y |The radius of the circle to draw |

|Filled |N |One of ‘Solid’ or ‘Hatch’. If not present the circle is not filled. |

Example :

8 Component

Used to group geometric and text primitives within a Drawing element. This inherits all elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents..

Child elements :

|Element Name |Cardinality |Description |

|Component |0..* | |

Attiributes :

See ‘PlantItem’, no additional attributes are defined.

Example :



9 CompositeCurve

A collection of geometric curve primitives

Child elements :

|Element Name |Cardinality |Description |

|Presentation |0..1 |The Presentation element has no purpose in this context. |

|Extent |1 |The minimum bounding geometry of the geometric contents of the Drawing |

| | |element and its descendants. |

|BsplineCurve |0..* |A geometric primitive |

|Circle |0..* |A geometric primitive |

|CompositeCurve |0..* |A geometric primitive |

|Ellipse |0..* |A geometric primitive |

|Line |0..* |A geometric primitive |

|PolyLine |0..* |A geometric primitive |

|Shape |0..* |A geometric primitive |

|TrimmedCurve |0..* |A geometric primitive |

|GenericAttributes |0..* |Any application specific properties relating to the Drawing. |

Attributes :

None

Example :

10 Connection

This element is used to describe the flow connectivity between elements. The source of the flow is defined using the attributes FromID and FromNode while the flow destination is defined using ToID and ToNode. A connection element and its attributes are not mandatory but must be present to represent the topology of a network. If the FromID/ToID attributes reference a Nozzle, PipeConnectorSymbol or PropertyBreak element then the FromNode/ToNode attributes are not required.

See ConnectionPoints for details on what is being referenced.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|ToID |N |The ID, PersistentID/@Identifier or TagName of the referenced item that is the flow |

| | |destination for the parent of the Connection element. See TagName Referencing. |

|ToNode |N |The index of the ConnectionPoints Node element within the ConnectionPoints element of the|

| | |destination element. Nb this is a 0 based index and is only required if the destination |

| | |is not a Nozzle, PipeConnectorSymbol or PropertyBreak. |

|FromID |N |The ID, PersistentID/@Identifier or TagName of the referenced item that is the flow |

| | |source for the parent of the Connection element. See TagName Referencing |

|FromNode |N |The index of the ConnectionPoints Node element within the ConnectionPoints element of the|

| | |source element. Nb this is a 0 based index and is only required if the source is not a |

| | |Nozzle, PipeConnectorSymbol or PropertyBreak. |

Example :





11 ConnectionPoints

This element is used to describe the potential flow connections from and to the parent of this element. Each potential connection location is represented as a Node element. Nodes are ordered and positioned on the drawing. Each Node element may be referenced by at most one Connection element.

The first node (known as Node 0) represents the geometric origin of the parent of the ConnectionPoints element.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |0..1 |The Presentation element has no purpose in this context. |

|Extent |0..1 |The minimum bounding geometry of the geometric contents of the |

| | |ConnectionPoints element and its descendants. |

|Node |1..* |The first node (Node 0) represents the geometric location of the parent |

| | |element. Nodes 1..n represent the locations that other elements may |

| | |connect to. |

|GenericAttributes |0..* |Any Application attributes related to connectivity |

Attributes :

|Attribute Name |Required |Description |

|NumPoints |Y |The number of Node elements in this ConnectionPoints element. |

|FlowIn |N |The index of the Node that is used for the primary flow into the parent of |

| | |the ConnectionPoints element. This Defaults to 1 if not present. |

|FlowOut |N |The index of the Node that is used for the primary flow from the parent of |

| | |the ConnectionPoints element. This defaults to 2 if not present. |

Example :

12 ConnectionType

This is a free form string element that may be unit qualified.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Units |N |This may contain any of the permitted units types See Units |

Example :

Welded

13 ControlPoints

Child elements :

|Element Name |Cardinality |Description |

|Coordinate |1..* | |

Attributes :

None

Example :

14 ControlPointWeight

This is defined as an any but should be considered to be of type xsd:integer.

Child elements :

None

Attributes :

None

Example :

1

15 Coordinate

A Coordinate element is a Tuple of ordinates denoting a location in the drawing plane. For 2D drawings the Z ordinates should always be 0.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|X |Y |The X Axis ordinate as a double |

|Y |Y |The Y Axis ordinate as a double |

|Z |N |The Z Axis ordinate as a double, If not present this defaults to 0.0 |

Example :

16 CrossPageConnection

An element describing how to match PipeConnectorSymbol and SignalConnectorSymbol elements to represent cross page connectivity on a P&ID.

Child elements :

|Element Name |Cardinality |Description |

|LinkedPersistentID |0..* |The identities of the element that the parent connector symbol connected |

| | |to |

Attributes :

|Attribute Name |Required |Description |

|DrawingName |N |The Name attribute of the Drawing that the matching ConnectorSymbol is on. Depending on |

| | |whether the attribute for matching is unique to a drawing or the entire project this may |

| | |be required. |

|LinkLabel |N |The unique key used to match this connector with its matching counterpart. If |

| | |DrawingName is provided this should be unique to the referenced drawing, otherwise this |

| | |must be unique to the project. |

Example :

17 Description

A textual description of an item

Child elements :

None

Attributes :

None

Example :

some piece of plant equipment

18 Discipline

This is a simple element with no attributes containing one of the following values to classify an element :-

- Electrical

- Mechanical

- Process

- HVAC

- Telecomms

Example :-

Mechanical

19 Drawing

This contains metadata about the drawing and graphical annotation for the drawing that the file contains.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |1 |The R, G and B values of this element define the background colour for |

| | |the drawing. This is in contrast to the normal use of the Presentation |

| | |element that defines foreground style information. |

|Extent |1 |The minimum bounding geometry of the geometric contents of the Drawing |

| | |element and its descendants. |

|Component |0..* |A PlantItem used to group annotation. |

|BsplineCurve |0..* |A geometric primitive |

|Circle |0..* |A geometric primitive |

|CompositeCurve |0..* |A geometric primitive |

|Ellipse |0..* |A geometric primitive |

|Line |0..* |A geometric primitive |

|PolyLine |0..* |A geometric primitive |

|Shape |0..* |A geometric primitive |

|TrimmedCurve |0..* |A geometric primitive |

|Text |0..* |Textual annotation on the drawing |

|DrawingBorder |0..* |This element may be used to store the drawing border/outline but this is |

| | |at the discretion of the export tool. |

|Label |0..* | |

|InsulationSymbol |0..* | |

|ScopeBubble |0..* | |

|GenericAttributes |0..* |Any application specific properties relating to the Drawing. |

Attributes :

|Attribute Name |Required |Description |

|Name |Y |Identity for the drawing, this must be unique in the project. |

|Type |Y |Fixed value of ‘PID’ |

|Revision |N |Free form string value. See Character encoding |

|Title |Y |The drawing title |

|Size |N |This is a free text string and has no defined syntax. See Character encoding|

Example :





20 DrawingBorder

This element may be used to separate the drawing frame and borders from the drawing annotation.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |0..1 |The Presentation element has no purpose in this context. |

|Extent |1 |The minimum bounding geometry of the geometric contents of the Drawing |

| | |element and its descendants. |

|BsplineCurve |0..* |A geometric primitive |

|Circle |0..* |A geometric primitive |

|CompositeCurve |0..* |A geometric primitive |

|Ellipse |0..* |A geometric primitive |

|Line |0..* |A geometric primitive |

|PolyLine |0..* |A geometric primitive |

|Shape |0..* |A geometric primitive |

|TrimmedCurve |0..* |A geometric primitive |

|Text |0..* | |

|GenericAttributes |0..* |Any application specific properties relating to the Drawing. |

Attributes :

|Attribute Name |Required |Description |

|Name |N |Identity for the drawing border |

|Size |N |This is a free text string and has no defined syntax. See Character encoding|

Example :





21 Ellipse

A geometric primitive used to describe an ellipse.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |1 |This defines the drawing style to be used for the ellipse. |

|Extent |1 |The minimum bounding geometry of the geometric contents of the Drawing |

| | |element and its descendants. |

|Position |1 |The centre/origin of the ellipse to draw |

|GenericAttributes |0..* |A geometric primitive |

Attributes :

|Attribute Name |Required |Description |

|PrimaryAxis |Y |Double describing the primary axis |

|SecondaryAxis |Y |double describing the secondary axis |

|Filled |N |A value of ‘Solid’ or ‘Hatch’. If not present the ellipse is not filled. |

Example :

22 EndDiameter

This is the internal bore for a segment or a PipingNetworkSystem at it’s destination.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The bore size |

|Units |N |This may be any of the distance units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

23 Equipment

An Equipment element inherits elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents.

Child elements :

|Element Name |Cardinality |Description |

|Discipline |0..1 |Functional domain of Equipment |

|MinimumDesignPressure |0..1 | |

|MaximumDesignPressure |0..1 | |

|MinimumDesignTemperature |0..1 | |

|MaximumDesignTemperature |0..1 | |

|Equipment |0..* |Equipment considered part of this equipment |

|Nozzle |0..* |Potential pipe connection to this equipment |

|Component |0..* | |

Attributes :

|Attribute Name |Required |Description |

|ProcessArea |N |A free form string identifying, if required, the process area that this |

| | |equipment resides in (See Character encoding). |

|Purpose |N |A free form string describing the function of this equipment in the process |

| | |(see Character encoding). |

Example :





24 Extent

A minimum bounding geometry describing the minimum and maximum coordinates of the descendants of this elements parent.

Child elements :

|Element Name |Cardinality |Description |

|Min |1 |Minimum values for all geometric descendants of the Extent elements parent. |

|Max |1 |Maximum values for all geometric descendants of the Extent elements parent |

Attributes :

None

Example :

25 FabricationCategory

This is a free form string element that may be unit qualified.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Units |N |This may contain any of the permitted units types See Units |

Example :

None

26 GenericAttribute

An application specific attribute/property in the XMpLant file.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Name |Y |The name of the attribute. |

|Value |N |If Value is not present this is equivalent to null. This may not be |

| | |equivalent to “”. |

|Units |N |The units of measure for the field if relevant. If not present this |

| | |defaults to the values in PlantInformation. See PlantInformation and Units.|

|Format |N |One of the following values (as per 32 bit architecture) :- |

| | |string |

| | |byte |

| | |short |

| | |integer |

| | |long |

| | |ulong |

| | |float |

| | |double |

|URI |N |A URI to the RDL WIP qualifying the attribute being represented. |

Example :

27 GenericAttributes

This element groups application specific attributes/properties to be output into an XMpLant file.

Child elements :

|Element Name |Cardinality |Description |

|GenericAttribute |@Number | |

Attributes :

|Attribute Name |Required |Description |

|Number |Y |The number of GenericAttributes inside this set. |

|Set |N |A name for this grouping of attributes. |

Example :

28 Height

This is the height of the Nozzle origin on it’s parent Equipment, measured from the origin of the Equipment.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The height value |

|Units |N |This may be any of the distance units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

29 History

This is provided to contain an audit trail of the changes to an item

Child elements :

|Element Name |Cardinality |Description |

|Transaction |0..* |An entry in the audit trail |

Attributes :

|Attribute Name |Required |Description |

|NumTransactions |Y |The number of Transaction child elements |

Example :

30 Identifier

This element is used to capture the structure of an identifier such as a TagName. Not usually used.

Child elements :

|Element Name |Cardinality |Description |

|IdentifierElement |0..* |A structural component of an identifier. |

Attributes :

|Attribute Name |Required |Description |

|Purpose |N |A string describing the purpose of this element. |

Example :

31 IdentifierElement

A structural element describing part of the structure of an identifier.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Name |Y |The name of this part of the identifier |

|Value |N |Only required if dependantAttribute is not provided. |

|ItemID |N |Only required if an attribute is referenced on another item. |

|DependantAttribute |N |References an attribute from which this part of the identifier is derived. |

| | |See Textfor a description of how this attribute is defined. |

Example :

32 InsideDiameter

This is the internal bore for an item at its source end.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The bore size |

|Units |N |This may be any of the distance units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

33 InstrumentComponent

This represents a physical instrument that is common to piping systems that is not part of the process line.

An InstrumentComponent element inherits elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents.

Child elements :

|Element Name |Cardinality |Description |

|InstrumentComponent |0..* |Contained Instrument. |

|NominalDiameter |0..1 | |

|InsideDiameter |0..1 | |

| |0..1 | |

|None | | |

|OutsideDiameter | | |

|OperatorType |0..1 | |

|WallThickness |0..1 | |

|Component |0..* | |

Attributes :

(See ‘PlantItem’) No Additional elements

Examples :

34 InstrumentConnection

This represents a connection for purposes of instrumentation to a process line. Even though this is a topological break this doesn’t terminate the PipingNetworkSegment (see PipingNetworkSegment Topology (Connection element))

An InstrumentConnection element inherits elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents.

Child elements :

See ‘PlantItem’.

Attributes :

(See ‘PlantItem’) No Additional elements

Examples :



35 InstrumentLoop

A collection of related instruments. This element inherits elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents. Inline instruments are associated to instrument loops by using the Association element.

Child elements :

|Element Name |Cardinality |Description |

|SignalConnectorSymbol |0..* | |

|SignalLine |0..* | |

Attributes :

See ‘PlantItem’, no additional attributes are defined.

Example :

36 InsulationSymbol

This element is an annotation primitive to represent a label on a P&ID.

An InsulationSymbol element inherits elements and attributes from the base type ‘AnnotationItem’. See ‘AnnotationItem’ for the definitions of the inherited contents.

Child elements :

(See ‘AnnotationItem’) No Additional elements

Attributes :

(See ‘AnnotationItem’) No Additional attributes

Example :



37 KnotMultiplicities

Child elements :

|Element Name |Cardinality |Description |

|Multiplicity |1..* | |

Attributes :

None

Example :

4

4

38 Knot

This is defined as an any but should be considered to be of type xsd:integer.

Child elements :

None

Attributes :

None

Example :

1

39 Knots

Child elements :

|Element Name |Cardinality |Description |

|Knot |1..* | |

Attributes :

None

Example :

0

1

40 Label

This element is an annotation primitive to represent a label on a P&ID.

A Label element inherits elements and attributes from the base type ‘AnnotationItem’. See ‘AnnotationItem’ for the definitions of the inherited contents.

Child elements :

(See ‘AnnotationItem’) No Additional elements

Attributes :

(See ‘AnnotationItem’) No Additional attributes

Example :



41 Line

A linear geometry defined by two points.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |1 |This defines the drawing style to be used for the ellipse. |

|Extent |1 |The minimum bounding geometry of the geometric contents of the Drawing |

| | |element and its descendants. |

|Coordinate |2 |The coordinates defining the start and end of the line. |

|GenericAttributes |0..* |A geometric primitive |

Attributes :

None

Example :

42 LinkedPersistentID

The LinkedPersistentID element contains a source system identifier for an for a PipeConnectorSymbol or SignalConnectorSymbol that the containing connector element is linked to. The Identifier and the Context must match the PersistentIdentifier attributes on the reference element. See PersistentID.

Child elements:

None

Attributes :

|Attribute Name |Required |Description |

|Identifier |Y |The persistent identifier for an XMpLant element. |

|Context |N |The scopes of the persistent identifier. |

Example :

43 Location

A Location element matches the definition of a Coordinated, it is a Tuple of ordinates denoting a location in the drawing plane. For 2D drawings the Z ordinates should always be 0.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|X |Y |The X Axis ordinate as a double |

|Y |Y |The Y Axis ordinate as a double |

|Z |N |The Z Axis ordinate as a double, If not present this defaults to 0.0 |

Example :

44 Manufacturer

The manufacturer responsible for producing the item

Child elements :

None

Attributes :

None

Example :

My company

45 Material

The name of the Material used to construct the item

Child elements :

None

Attributes :

None

Example :

Copper

46 MaterialDescription

A description of the material relating to an item

Child elements :

None

Attributes :

None

Example :

Some descriptive text

47 Max

Maximum coordinates for an Extent element

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|X |Y |X axis value denoting the maximum X value for all geometric descendants of |

| | |../.. |

|Y |Y |Y axis value denoting the maximum Y value for all geometric descendants of |

| | |../.. |

|Z |Y |Z axis value denoting the maximum Z value for all geometric descendants of |

| | |../.. |

| | | |

| | |For 2D drawings this should always be 0 |

Example :

48 MaximumDesignPressure

This is the maximum design pressure for an item.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The maximum design pressure |

|Units |N |This may be any of the pressure units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

49 MaximumDesignTemperature

This is the maximum design temperature for an item.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The maximum design temperature |

|Units |N |This may be any of the temperature units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

50 MaximumOperatingPressure

This is the maximum operating pressure for an item.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The maximum pressure |

|Units |N |This may be any of the pressure units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

51 MaximumOperatingTemperature

This is the maximum operating temperature for an item.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The maximum temperature |

|Units |N |This may be any of the temperature units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

52 Min

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|X |Y |X axis value denoting the minimum X value for all geometric descendants of |

| | |../… This is a double |

|Y |Y |Y axis value denoting the minimum Y value for all geometric descendants of |

| | |../.. This is a double |

|Z |Y |Z axis value denoting the minimum Z value for all geometric descendants of |

| | |../.. This is a double |

| | | |

| | |For 2D drawings this should always be 0 |

Example :

53 MinimumDesignPressure

This is the minimum design pressure for an item.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The minimum design pressure as a double. |

|Units |N |This may be any of the pressure units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

54 MinimumDesignTemperature

This is the minimum design temperature for an item.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The minimum design temperature as a double. |

|Units |N |This may be any of the temperature units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

55 MinimumOperatingPressure

This is the minimum operating pressure for an item.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The minimum pressure as a double. |

|Units |N |This may be any of the pressure units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

56 MinimumOperatingTemperature

This is the minimum operating temperature for an item.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The minimum temperature as a double. |

|Units |N |This may be any of the temperature units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

57 ModelNumber

String element detailing the model number for a component.

Child elements :

None

Attributes :

None

Example :

A485798347-BjiOM-9347

58 Multiplicity

This is defined as an any but should be considered to be of type xsd:integer.

Child elements :

None

Attributes :

None

Example :

4

59 NominalDiameter

This is the internal bore for an item.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The bore size as a double |

|Units |N |This may be any of the distance units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

60 NormalDesignPressure

Design pressure of an item under normal conditions

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The pressure value as a double |

|Units |N |This may be any of the pressure units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

61 NormalDesignTemperature

Design temperature of an item under normal conditions

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The temperature value as a double |

|Units |N |This may be any of the temperature units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

62 NormalOperatingPressure

Operating pressure of an item under normal conditions

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The pressure value as a double |

|Units |N |This may be any of the pressure units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

63 NormalOperatingTemperature

Operating temperature of an item under normal conditions

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The temperature value as a double |

|Units |N |This may be any of the temperature units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

64 Nozzle

An Nozzle element inherits elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents.

Child elements :

|Element Name |Cardinality |Description |

|NozzleType |0..1 | |

|NominalDiameter |0..1 |Internal nominal bore of nozzle |

|Height |0..1 |Height of Nozzle on the Equipment |

|Rating |0..* |Nozzle specification |

Attributes :

(See ‘PlantItem’) No Additional attributes

Example :



65 NozzleType

This is a simple element with one attribute and no contents

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |N |One of ‘Welded’, ‘Flanged’ or ‘Elbow’. |

| | | |

| | |This defaults to ‘Flanged’ if the Value attribute isn’t present. |

Example :

66 OperatorType

This is a free form string element that may be unit qualified.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Units |N |This may contain any of the permitted units types See Units |

Example :

None

67 OutsideDiameter

This is the external diameter of an item.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The external diameter measurement as a double |

|Units |N |This may be any of the distance units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

68 PConnectionPoints

TODO

69 PersistentID

The PersistentID element contains a source system identifier for an object that remains consistent between exports of a drawing. A PersistentID is made up of two components the identifier and its scope.

A PersistentID should be the same for an object that appears on multiple drawings where it is practicable to do this. If this cannot be achieved the TagName, if present, will be used for rationalising objects.

Child elements:

None

Attributes :

|Attribute Name |Required |Description |

|Identifier |Y |The persistent identifier for an XMpLant element. |

| | | |

| | |The Identifier must be unique within the set of XMpLant files that may |

| | |interact directly or indirectly with this drawing for the stated context. |

| | | |

| | |This a free form string type, See Character encoding |

|Context |N |This scopes a persistent identifier. |

| | | |

| | |In this way an item may have different Identifiers for different |

| | |systems/contexts and each identifier may be represented. |

| | | |

| | |Ideally this would be encoded as a URI. For example |

| | | Designer/ProjectName |

Example :

70 PipeConnectorSymbol

An on or off page connector that represents the connectivity of a PipingNetworkSegment across a page boundary. These are contained by the PipingNetworkSegment elements and reference as the segment source or destination.

A PipeConnectorsymbol element inherits elements and attributes from the base type ‘PlantItem’. See ‘AnnotationItem’ for the definitions of the inherited contents.

Child elements :

|Element Name |Cardinality |Description |

|CrossPageConnection |0..1 |Information describing the matching criteria for the PipeConnectorSymbol |

| | |that is connected to this one. |

Attributes :

(See ‘AnnotationItem’) No Additional attributes

Example :

71 PipeFlowArrow

This element is an annotation primitive to represent the direction of flow of a PipingNetworkSegment.

A PipeFlowArrow element inherits elements and attributes from the base type ‘AnnotationItem’. See ‘AnnotationItem’ for the definitions of the inherited contents.

Child elements :

(See ‘AnnotationItem’) No Additional elements

Attributes :

(See ‘AnnotationItem’) No Additional attributes

Example :

72 PipingComponent

This represents a physical component that is common to piping systems.

A PipingComponent element inherits elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents.

Child elements :

|Element Name |Cardinality |Description |

|PipingComponent |0..* |Contained PipingComponent. |

|ConnectionType |0..1 | |

|NominalDiameter |0..1 | |

|InsideDiameter |0..1 | |

| |0..1 | |

|None | | |

|OutsideDiameter | | |

|OperatorType |0..1 | |

|WallThickness |0..1 | |

|FabricationCategory |0..1 | |

|PipingComponent |0..* | |

|Component |0..* | |

Attributes :

|Attribute Name |Required |Description |

|ConnectionType |N |This is a free text string and has no defined syntax. See Character encoding|

|Rating |N |This is a free text string and has no defined syntax. See Character encoding|

|Standard |N |This is a free text string and has no defined syntax. See Character encoding|

|ISOSymbol |N |This is a free text string and has no defined syntax. See Character encoding|

Examples :

73 PipingNetworkSegment

See ‘2.2.1’ for details on the use of PipingNetworkSegments.

A PipingNetworkSegment element inherits elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents.

PipeConnectorSymbol elements representing on and off page connectivity are contained by the PipingNetworkSegment. See for details of PipingNetworkSegment connectivity.

If a PipingNetworkSegment represents the connectivity between an instrument and a process line then the ComponentClass attribute will be given the value ‘ProcessInstrumentConnection’.

Child Elements :

|Element Name |Cardinality |Description |

|NominalDiameter |0..1 | |

|InsideDiameter |0..1 | |

|OutsideDiameter |0..1 | |

|StartDiameter |0..1 | |

|EndDiameter |0..1 | |

|NormalDesignPressure |0..1 | |

|MinimumDesignPressure |0..1 | |

|MaximumDesignPressure |0..1 | |

|NormalDesignTemperature |0..1 | |

|MinimumDesignTemperature |0..1 | |

|MaximumDesignTemperature |0..1 | |

|NormalOperatingPressure |0..1 | |

|MinimumOperatingPressure |0..1 | |

|MaximumOperatingPressure |0..1 | |

|TestPressure |0..1 | |

|NormalOperatingTemperature |0..1 | |

|MinimumOperatingTemperature |0..1 | |

|MaximumOperatingTemperature |0..1 | |

|WallThickness |0..1 | |

|Connection |0..* |This states the head and tail connectivity of this |

| | |segment. |

|CenterLine |0..* | |

|Component |0..* | |

|InstrumentComponent |0..* | |

|Equipment |0..* | |

|InstrumentConnection |0..* | |

|PipingComponent |0..* | |

|ProcessInstrument |0..* | |

|PipeConnectorSymbol |0..* | |

|PipeFlowArrow |0..* | |

|Label |0..* | |

|InsulationSymbol |0..* | |

Attributes :

|Attribute Name |Required |Description |

|DualFlow |N |Defaults to ‘false’, indicates that the segment supports reversible flow. |

Example :

74 PipingNetworkSystem

‘A PipingNetworkSystem contains the information for a physical PipingNetworkSystem in the plant or a section thereof as contained within a module. The PipingNetworkSystem contains all of the PlantItems that belong to it. A PipingNetworkSystem may have multiple sources and multiple destinations.’

A PipingNetworkSystem element inherits elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents.

Child elements :

|Element Name |Cardinality |Description |

|NominalDiameter |0..1 | |

|InsideDiameter |0..1 | |

|OutsideDiameter |0..1 | |

|StartDiameter |0..1 | |

|EndDiameter |0..1 | |

|NormalDesignPressure |0..1 | |

|MinimumDesignPressure |0..1 | |

|MaximumDesignPressure |0..1 | |

|NormalDesignTemperature |0..1 | |

|MinimumDesignTemperature |0..1 | |

|MaximumDesignTemperature |0..1 | |

|NormalOperatingPressure |0..1 | |

|MinimumOperatingPressure |0..1 | |

|MaximumOperatingPressure |0..1 | |

|TestPressure |0..1 | |

|NormalOperatingTemperature |0..1 | |

|MinimumOperatingTemperature |0..1 | |

|MaximumOperatingTemperature |0..1 | |

|WallThickness |0..1 | |

|PipingNetworkSegment |0..* |The segments that make up the PipingNetworkSystem |

|PropertyBreak |0..* |Points at which changes occur in the pipe specification. This |

| | |causes a break in the segment. |

Attributes :

(See ‘PlantItem’) No Additional attributes

Example :

75 PipingSystem

TODO

76 PlantArea

In the P&ID content of an XMpLant file this is just an object that may be used to represent the name and attributes of named part(area) of a plant. A plant Area is not permitted to contain model elements but may be referenced to associated segments, Equipment etc with a named PlantArea.

A PlantArea element inherits elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents.

Child elements :

|Element Name |Cardinality |Description |

|Component |0..* | |

Attributes :

|Attribute Name |Required |Description |

|Name |N |A string representing the name of the area. See Character encoding |

Example :

77 PlantInformation

This element collects the metadata for a PlantModel. The Date and Time attributes should be the Date and Time of the XMpLant file creation.

Child elements :

|Element Name |Cardinality |Description |

|UnitsOfMeasure |1 |Defines the default units of measure for the file. |

Attributes :

|Attribute Name |Required |Description |

|SchemaVersion |Y |Fixed value of ‘3.3.3’ |

|OriginatingSystem |Y |Free form string. See Character encoding |

|ModelName |N |Free form string. See Character encoding |

|Date |Y |XML date of the format YYYY-MM-DD |

|ProjectName |N |Free form string. See Character encoding |

|ProjectCode |N |Free form string. See Character encoding |

|ProjectDescription |N |Free form string. See Character encoding |

|CompanyName |N |Free form string. See Character encoding |

|Time |Y |XML time type, assumed UTC unless zone qualified |

|Is3D |Y |Fixed value of ‘no’ |

|Units |Y |The distance units of measure for the geometry in the file. |

|Discipline |Y |Fixed value of ‘PID’ |

Example :

78 PlantItem

This element is a base abstract type of many elements within an XMpLant file, it defines the common elements and attributes for these items.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |0..1 | |

|Extent |1 | |

|PersistentID |0..* | |

|Position |1 | |

|Scale |0..1 | |

|Surface |0..* | |

|Circle |0..* | |

|CompositeCurve |0..* | |

|Ellipse |0..* | |

|Line |0..* | |

|PolyLine |0..* | |

|Shape |0..* | |

|TrimmedCurve |0..* | |

|BsplineCurve |0..* | |

|ConnectionPoints |0..1 | |

|PConnectionPoints |0..1 | |

|Text |0..* | |

|Identifier |0..* | |

|Description |0..1 | |

|Weight |0..1 | |

|Material |0..1 | |

|MaterialDescription |0..1 | |

|ModelNumber |0..1 | |

|Supplier |0..1 | |

|Manufacturer |0..1 | |

|GenericAttributes |0..* | |

|Association |0..* | |

|History |0..1 | |

Attributes :

|Attribute Name |Required |Description |

|ID |Y |The unique identity of the item in the file. See ID |

|TagName |N |See Tag |

|Specification |N |See Specification |

|StockNumber |N |See StockNumber |

|ComponentClass |N |See ComponentClass |

|ComponentName |N |See ComponentName |

|ComponentType |N |See ComponentType |

|Revision |N |See Revision |

|Status |N |See Status |

Example :

N/a since the type is abstract

79 PolyLine

Geometric curve primitive detailing a polyline. The interpolation between each coordinate is linear.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |0..1 |The style to use when drawing the line. The drawing behaviour is undefined if the |

| | |Presentation element is missing. |

|Extent |1 |The minimum bounding geometry of the element and its descendants |

|Coordinate |1..* |The coordinates defining the line primitive |

|GenericAttributes |0..* |Any application specific attributes |

Attributes :

|Attribute Name |Required |Description |

|NumPoints |Y |The number of child Coordinate elements. |

Example :

80 Position

This defines the place where an items origin is on a P&ID drawing. This is in effect the location of the items symbol. The Axis and Reference attributes are used to define the coordinate orientation in 3D space (see Geometries (Axis and Reference)). The drawing is considered to be on the plane of Z=0.

Child elements :

|Element Name |Cardinality |Description |

|Location |1 |The coordinate position |

|Axis |1 |Axis orientation |

|Reference |1 |Axis orientation |

Attributes :

None

Example :

Example with 90 degree rotation (anticlockwise) :

81 Presentation

The element defines a styles used to draw geometric and textual content. Whle all attributes are defined as optional in the schema the R, G, B, LineWeight and LineType attributes are expected for all geometric primitives, otherwise the behaviour is undefined.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Layer |N |Name of the layer in which the graphical elements resides. This has no |

| | |functional semantics associated with it. |

|Color |N |A lookup in a color index. This isn’t used by AVEVA software. |

|LineType |N |One of the numbers or names from the following (Object Model document v2.2) |

| | |:- |

| | |0 Solid |

| | |1 Dotted |

| | |2 Dashed |

| | |3 Long Dash |

| | |4 Long Dash + Short Dash, CenterLine |

| | |5 Short Dash |

| | |6 Long Dash + Short Dash + Short Dash |

| | |7 Dash + Short Dash |

|LineWeight |N | |

| | |or |

| | | |

| | |or |

| | | |

| | | |

| | |Where :- |

| | | is an real value. |

| | | is a space character () |

| | | is a distance units from Units |

| | | |

| | |If the value isn’t qualified with units then the behaviour is undefined. |

|R |N |0 to 1 (double) 1 = maximum intensity of Red component. |

|G |N |0 to 1 (double) 1 = maximum intensity of Green component. |

|B |N |0 to 1 (double) 1 = maximum intensity of blue component. |

Example :

82 ProcessInstrument

This represents a physical instrument that is common to piping systems.

A ProcessInstrument element inherits elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents.

Child elements :

|Element Name |Cardinality |Description |

|ProcessInstrument |0..* |Contained ProcessInstrument. |

|NominalDiameter |0..1 | |

|InsideDiameter |0..1 | |

| |0..1 | |

|None | | |

|OutsideDiameter | | |

|OperatorType |0..1 | |

|WallThickness |0..1 | |

|Component |0..* | |

Attributes :

(See ‘PlantItem’) No Additional elements

Examples :

83 PropertyBreak

This represents the point at which there is a change in specification of the piping. See Error! Reference source not found.

A PropertyBreak element inherits elements and attributes from the base type ‘PlantItem’. See ‘AnnotationItem’ for the definitions of the inherited contents.

I’m not sure what attributes are relevant as the specification differences should be evident on the segments themselves.

A PropertyBreak may be contained by a PipingNetworkSystem or PipingNetworkSegment element. PropertyBreak elements inside a PipingNetworkSystem are those associated with components such as Tees and Angled Relief Valves. PropertyBreak elements inside a PipingNetworkSegment are involved in the segment topology.

Child elements :

(See ‘AnnotationItem’) No Additional elements

Attributes :

(See ‘AnnotationItem’) No Additional attributes

Example :

Change in Insulation

84 Rating

This is a unit qualified string value to describe the rating of an item.

Child elements:

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |Maximum safe load |

|Units |N |This may be any of the units permitted since the type of measurement isn’t |

| | |specified. See Units for permitted values, the semantics if Units are not |

| | |present are unclear. |

Example :

85 Reference

See Geometries (Axis and Reference)

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|X |Y |Double |

|Y |Y |Double |

|Z |Y |Double |

Example :

86 Remark

A string comment element

Child elements :

None

Attributes :

None

Example :

WP2134

87 Scale

The scale element is used when symbols are drawn from a shape catalogue. The Scale element enables symbols to be rescaled when positioned in a drawing.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|X |Y |X scale factor |

|Y |Y |Y scale factor |

|Z |N |Z scale factor |

Example :

88 ScopeBubble

This element is an annotation primitive to represent a scoped bubble or cloud on a P&ID.

A ScopeBubble element inherits elements and attributes from the base type ‘AnnotationItem’. See ‘AnnotationItem’ for the definitions of the inherited contents.

Child elements :

(See ‘AnnotationItem’) No Additional elements

Attributes :

(See ‘AnnotationItem’) No Additional attributes

Example :



89 Shape

The Shape element defines a closed curve. The interpolation between each coordinate is linear.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |0..1 |The style to use when drawing the line. The drawing behaviour is undefined if the |

| | |Presentation element is missing. |

|Extent |1 |The minimum bounding geometry of the element and its descendants |

|Coordinate |4..* |The coordinates defining the primitive. The first coordinate should match the last to|

| | |complete a closed form. |

|GenericAttributes |0..* |Any application specific attributes |

Attributes :

|Attribute Name |Required |Description |

|NumPoints |Y |The number of child Coordinate elements. |

|Filled |N |One of ‘Solid’ or ‘Hatch’ used to specify a fill technique |

Example :

90 ShapeCatalogue

A Shape Catalogue defines a symbol library for a file. See ComponentName for how to reference and name a symbol in the catalogue. See Scale for how to scale symbols when drawn. See Position for how to rotate a symbol.

Child elements :

|Element Name |Cardinality |Description |

|Equipment |0..* |Equipment symbols |

|PipingComponent |0..* |PipingComponent symbols |

|Nozzle |0..* |Nozzle symbols |

|ProcessInstrument |0..* |ProcessInstrument symbols |

|InstrumentComponent |0..* | |

|Component |0..* |Component symbols |

|PipeConnector |0..* |PipeConnectorSymbol |

|SignalConnectorSymbol |0..* |SignalConnectorSymbol |

|InsulationSymbol |0..* | |

|PropertyBreak |0..* | |

|Label |0..* | |

|PipeFlowArrow |0..* | |

Attributes :

|Attribute Name |Required |Description |

|Name |Y |The name of the symbol catalogue, this is a string attribute. |

|Version |N |The version of the symbol set. |

|Units |N |The distance units that the symbols are defined in. This affects the size of the symbol |

| | |with respect the units defined by the PlantInformation/UnitsOfMeasure/@Distance |

| | |attribute. i.e if Units is different to the PlantInformation default then the symbol is |

| | |scaled. |

| | | |

| | |See the distance section of Units for valid values. |

|Date |N |The date the symbol library was created/modified. |

Example :



91 SignalConnectorSymbol

An on or off page connector that represents the connectivity of a SignalLine across a page boundary.

A SignalConnectorSymbol element inherits elements and attributes from the base type ‘AnnotationItem’. See ‘AnnotationItem’ for the definitions of the inherited contents.

Child elements :

|Element Name |Cardinality |Description |

|CrossPageConnection |0..1 |Information describing the matching criteria for the |

| | |SignalConnectorSymbol that is connected to this one. |

Attributes :

(See ‘AnnotationItem’) No Additional attributes

Example :

92 SignalLine

TODO

A connection between two instruments carrying instrumentation signals.

A SignalLine element inherits elements and attributes from the base type ‘PlantItem’. See ‘PlantItem’ for the definitions of the inherited contents.

Child elements :

|Element Name |Cardinality |Description |

|Connection |0..1 |The connectivity details of this SignalLine |

|Component |0..* | |

Attributes :

(See ‘PlantItem’) No Additional attributes

Example :

93 StartDiameter

This is the internal bore for a segment or a PipingNetworkSystem at it’s source.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The bore size |

|Units |N |This may be any of the distance units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

94 String

A string value used to annotate a drawing. Each element represents a single line of text.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The string value |

|Units |N |Any units associated with the string value, not sure how to use this. |

Example :

95 Supplier

This is the name of the supplier for an item.

Child elements :

None

Attributes :

None

Example :

My supplier

96 Surface

See Error! Reference source not found.

97 System

TODO

98 TestPressure

The pressure that should be used to test an item

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |Y |The pressure |

|Units |N |This may be any of the pressure units permitted. See Units for permitted |

| | |values and semantics if not present. |

Example :

99 Text

This defines the textual annotation for a drawing. The text may be provided in an attribute, referenced using attributes on this item, referenced on attributes of another item or provided as a set of String elements. The text itself can be marked up using text, text and text for bold, italic and underlined styles. The ‘’ characters have to be escaped in this case.

Child elements :

|Element Name |Cardinality |Description |

|Presentation |1 |The style to use to draw the text. |

|Extent |1 |The minimum bounding rectangle around the text. |

|Position |1 |The position of the text |

|String |0..* |Used when the text contains a line break. |

|GenericAttributes |0..* |Any application specific attributes, this could include attributes that contain the |

| | |text content to write. |

Attributes :

|Attribute Name |Required |Description |

|NumLines |N |The number of text lines being represented. If not present then a value of |

| | |1 is assumed. |

|String |N |If present this is the text to be drawn. If the text contains a line break |

| | |then it should be split into the String child elements instead of being in |

| | |the attribute or the line break character replaced with an appropriate |

| | |character reference. |

|Font |Y |The font family name to use. |

|Justification | |The location of Position within the Text to be written. Where the text is |

| | |on multiple lines then Justification denotes the location of Position for |

| | |the first line of text. |

| | | |

| | |One of the following : |

| | |LeftTop |

| | |LeftCenter |

| | |LeftBottom |

| | |CenterTop |

| | |CenterCenter |

| | |CenterBottom |

| | |RightTop |

| | |RightCenter |

| | |RightBottom |

| | | |

| | |Defaults to LeftBottom if not provided. |

|Width |Y |The full width of the Text string once rendered |

|Height |Y |The full height of the Text string once rendered |

|TextAngle | |This is the angle that the base line of the text string makes with the |

| | |positive X axis measured anticlockwise in degrees [1]. |

|SlantAngle | |This is the angle, in degrees, of slant of the text characters measured |

| | |clockwise from the positive Y axis. Eg. for the character I it is the angle |

| | |that the vertical stroke makes with the positive Y axis [1]. |

|ItemID | |If provided then the text string is to be constructed from the attributes of|

| | |another element. The ID may be provided as the ID of the element, the |

| | |PersistentID/@Identifier or the TagName of the element. See TagName |

| | |Referencing. |

|Set | |If the text is to be obtained from a child of a GenericAttributes element |

| | |then the set name for the GenericAttributes element may be provided to avoid|

| | |ambiguity. |

|DependantAttribute | |The template for the textual contents if obtaining the text from referenced |

| | |attributes. |

| | | |

| | |The value of the DependantAttribute can contain a single attribute or a list|

| | |of Attributes and explicit text. IF a single attribute is referenced it may|

| | |appear just as the attribute name. Where multiple attributes or explicit |

| | |text is used the attribute names are contained in square brackets. Eg |

| | |“[Tagprefix]-[Tagnumber][Tagsuffix]”. |

| | | |

| | |The search order will be the Attributes of the PlantItem, ItemAttributes |

| | |then GenericAttributes of the Text followed by the GenericAttributes of the |

| | |parent or the object explicitly identified by the ItemID. The first |

| | |occurrence of the named Attribute will be used, there is no mechanism for |

| | |handling multiple attributes of the same name. |

Example :

100 Transaction

A record of a change to an item

Child elements :

|Element Name |Cardinality |Description |

|Remark |0..* |A comment describing the change. |

|GenericAttributes |0..* |Any application specific attributes |

Attributes :

|Attribute Name |Required |Description |

|Type |N |One of the following : |

| | |to approve |

| | |to check |

| | |to copy |

| | |to create |

| | |to modify |

| | |to request |

| | |to release |

|Date |N |A date type (YYYY-MM-DD) |

|Time |N |A time type (HH:MM:SS) (See for full details including time zones) |

|CompanyName |N |A free form string (see Character encoding) |

|Person |N |A free form string (see Character encoding) |

Example :

Amended Nozzle parameters for new specification

WP2134

101 TrimmedCurve

An arc based on a circle or ellipse definition

Child elements :

|Element Name |Cardinality |Description |

|Circle |0..1 |Only present if Ellipse isn’t present. The base Circle used to define the arc. |

|Ellipse |0..1 |Only present if Circle isn’t present. The base ellipse used to define the arc. |

|GenericAttributes |0..* |Any application specific attributes |

Attributes :

|Attribute Name |Required |Description |

|StartAngle |Y |The rotation around the circle/ellipse to start the arc from. 0 = east. The angle is |

| | |specified in degrees (0-360) measured anti-clockwise. |

|EndAngle |Y |The rotation around the circle/ellipse to end the arc at. 0 = east. |

| | |The angle is specified in degrees (0-360) measured anti-clockwise. |

Example 0-90 :

[pic]

Example 0-90 with a 90 degree rotation :

[pic]

Example 0-90 with an inverted z-axis :

[pic]

102 UnitsOfMeasure

This element specifies the default units of measure for the file for each type of measured value.

Child Elements :

None

Attributes :

|Attribute Name |Required |Description |

|Distance |N |See Units for permitted distance values. Default value is ‘Millimetre’. |

|Area |N |See Units for permitted distance values. Default value is ‘SquareMetres’. |

|Angle |N |See Units for permitted angle values. Default value is ‘Degree’. |

|Temperature |N |See Units for permitted temperature values. Default value is ‘DegreeCelsius’. |

|Pressure |N |See Units for permitted pressure values. Default value is ‘Bar’. |

|Volume |N |See Units for permitted volume values. Default value is ‘CubicMetres’. |

|Weight |N |See Units for permitted weight values. Default value is ‘Kilogram’. |

Example :

103 WallThickness

The thickness of the element construction.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |N |The thickness value. Nb this is a string type and so could be represented in many ways. |

|Units |N |The units of measure (See Units for permitted values). If not present then this defaults to |

| | |the units specified by PlantInformation/UnitsOfMeasure. |

Example :

104 Weight

The weight of the item.

Child elements :

None

Attributes :

|Attribute Name |Required |Description |

|Value |N |The weight value. |

|Units |N |The units of measure (See Units for permitted values). If not present then this defaults to |

| | |the units specified by PlantInformation/UnitsOfMeasure. |

Example :

105 WeightsData

Child elements :

|Element Name |Cardinality |Description |

|ControlPointWeight |0..* | |

Attributes :

None

Example :

1

1

1

1

Any issues that may affect the design or the development may be listed here. These issues must be resolved before this low level design specification can be finally approved for use.

-----------------------

Connection to :-

Splitting component

Reducer

PipeConnectorSymbol



PipeConnectorSymbol

Reducer

Splitting Component



Connection to :-

Nozzle

Merging component

InstrumentConnection

ProcessInstrument

PropertyBreak

PipingNetworkSegment

PipingNetworkSegment

Connection from :-

PipeConnectorSymbol



PipeConnectorSymbol

PipingNetworkSegment



PipingNetworkSegment

Connection from :-

Nozzle

Splitting Component

Reducer

PropertyBreak

InstrumentConnection

ProcessInstrument

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download