DEXPI 信息模型详解

        DEXPI 是过程控制行业的数据交换标准,它基于信息模型构建的。本文介绍DEXPI 1.3 规范中的信息模型。该标准共有1200多页,非常复杂。作为学习,建议同时阅读1.0 版本(284页),其中有更多的描述和解释。不过1.0版本与1.3 有很多区别。

DEXPI 信息模型

  • DEXPI 是过程控制行业的信息模型,它不仅仅是P&ID 图形符号的标准。
  • DEXPI的符号格式采纳了Proteus XML 方案。
  • 所有DEXPI 类是ISO 15926 的类
  • DEXPI 是建立在诸多国际标准之上的规范。

DEXPI 模型中会使用数据字典、数据库的数据,主要的包括:

http://data.posccaesar.org/

DEXPI Sandbox - DEXPI Sandbox

      DEXPI 沙盒 RDL 是符合 ISO 15926 标准的参考数据库 (RDL)。它为 DEXPI P&ID 规范使用的类提供定义。 

多个标准交织在一起,显得比想象的繁琐。

DEXPI 沙盒 - DEXPI 沙盒
DEXPI 沙盒 - DEXPI 沙盒

UML 模型

        DEXPI 信息模型基于UML 的类(class)模型。DEXPI 是从工程的视角构建P&ID 中呈现的对象,而不是从图形的角度构建的图形模型。也就是说,它包含的不仅是图形,而且包含了大量的工程信息模型(反应釜的图形和管道)还包括了温度,温度的单位,值等等工程信息。

通用属性(GenericAttribute)

类中包含了属性(attributes) 在DEXPI 中称为通用属性(GenericAttribute)。例如

 <GenericAttributes Number="3" Set="DexpiAttributes">
      <GenericAttribute Name="TagNamePrefixAssignmentClass" Value="AN" Format="string" AttributeURI="http://sandbox.dexpi.org/rdl/TagNamePrefixAssignmentClass" />
      <GenericAttribute Name="TagNameSequenceNumberAssignmentClass" Value="43" Format="string" AttributeURI="http://sandbox.dexpi.org/rdl/TagNameSequenceNumberAssignmentClass" />
      <GenericAttribute Name="TagNameSuffixAssignmentClass" Value="" Format="string" AttributeURI="http://sandbox.dexpi.org/rdl/TagNameSuffixAssignmentClass" />
    </GenericAttributes>

物理量(Physical Quantity) 

<GenericAttribute
Name=”InsulationThickness”
AttributeURI=”http://data.posccaesar.org/rdl/RDS4238040”
Value=”80”
Format=”double”
Units=”Millimetre”
UnitsURI=”http://data.posccaesar.org/rdl/RDS1357739”/>

DEXPI 沙盒 RDL 是符合 ISO 15926 标准的参考数据库 (RDL)。它为 DEXPI P&ID 规范使用的类提供定义。

包和模型(Package and Model)

        包是成员的命名空间,在DEXPI中,使用包(package)作为元素的容器。构建信息模型的结构。DEXPI信息模型包含了11个包。

  • DexpiModel 包

  • metaData包

  • PlantModel包

  • Equipment包

  • Pipling包

  • Instrumentation包

  • Customization包

  • Enumerations包

  • PhysicalQuantities包

  • Graphics包

  • DataTypes包

下面我们介绍其中的一部分信息模型

Dexpi 包

Dexpi 包包含了两个类:

  • DexpiModel
  • ConceptualModel

概念模型(ConceptualModel)

InstrumentationLoopFunctions

PipingNetworkSystem

元数据(MetaData)

工厂结构包(PlantStructure)

设备包(Equipment)

包含了过程控制工程中的标准设备。

设备的图形符号

ISO 10628标准规定了图形。

ISO 10628-1:2014

化学和石油工业的图形(Diagrams for the chemical and petrochemical industry)。

ISO 10628-2

管道包(Piping )

管道网络系统(PipingNetworkSystem)

管道网络段(PipingNetworkSegment)

仪器包(Instrumentation)

过程控制功能 (ProcessControlFunction)
ActuatingElectricalFunction
过程仪表功能(ProcessInstrumentationFunction)

    与过程工程相关的控制结构需求。

图形包(Graphics )

        P&ID 最基本的是图形,DEXPI 1.2 之前,没有包含P&ID 的图形格式,只是指明采纳Proteus (Proteus Schema),在DEXPI1.3 中,包含了图形的模型。

通用的属性

在类中有一些通用的属性,它们包括:

 扩充(Extent )

描述图形的原点和大小

<Extent>
          <Min X="20.000212222222288" Y="-16.248657555555496" Z="0" />
          <Max X="20.000212222222288" Y="58.748370222222263" Z="0" />
        </Extent>

坐标(Coordinate)

描述图形的坐标点

例如:

 <Line>
        <Presentation LineType="Solid" R="0" G="0" B="0" LineWeight="0.499999" />
        <Extent>
          <Min X="20.000212222222288" Y="-16.248657555555496" Z="0" />
          <Max X="20.000212222222288" Y="58.748370222222263" Z="0" />
        </Extent>
        <Coordinate X="20.000212222222288" Y="-16.248657555555496" Z="0" />
        <Coordinate X="20.000212222222288" Y="58.748370222222263" Z="0" />
      </Line>

表示了线的两个点的坐标 。

比例尺(Scale)

规定缩放比例。

<Scale X="1" Y="1" Z="1" />

文字(Text)

  <Text String="P4711" Font="Calibri" Height="4.5" Width="0" Justification="CenterCenter">
        <Presentation R="0" G="0" B="0"/>
        <Position>
          <Location X="84" Y="152.765" Z="0"/>
          <Axis X="0" Y="0" Z="1"/>
          <Reference X="1" Y="0" Z="0"/>
        </Position>
        <TextStringFormatSpecification>
          <ObjectAttributesReference ItemID="CentrifugalPump-1" DependantAttribute="TagName" DependantAttributeContents="Value"/>
        </TextStringFormatSpecification>
      </Text>

标签(Label)

  <Label ID="EquipmentTagNameLabel-3" ComponentClass="EquipmentTagNameLabel" ComponentClassURI="http://sandbox.dexpi.org/rdl/EquipmentTagNameLabel">
      <Text String="P4711" Font="Calibri" Height="4.5" Width="0" Justification="CenterCenter">
        <Presentation R="0" G="0" B="0"/>
        <Position>
          <Location X="84" Y="152.765" Z="0"/>
          <Axis X="0" Y="0" Z="1"/>
          <Reference X="1" Y="0" Z="0"/>
        </Position>
        <TextStringFormatSpecification>
          <ObjectAttributesReference ItemID="CentrifugalPump-1" DependantAttribute="TagName" DependantAttributeContents="Value"/>
        </TextStringFormatSpecification>
      </Text>
    </Label>

圆(Circle)

例如:

  <Circle Radius="7.5">
        <Presentation LineType="0" LineWeight="0.3" R="0.501960784" G="0" B="0"/>
        <Position>
          <Location X="0" Y="0" Z="0"/>
          <Axis X="0" Y="0" Z="1"/>
          <Reference X="1" Y="0" Z="0"/>
        </Position>
      </Circle>

圆弧(CircleArc)

颜色(Color)

画笔线形(DashStyle)

图(Diagram)

椭圆(Ellipse)

例子:

  <Ellipse PrimaryAxis="9.999979999999999" SecondaryAxis="9.999979999999999">
          <Presentation LineType="Solid" R="0" G="0" B="0" LineWeight="0.249999852777778" />
          <Extent>
            <Min X="-2.6049830794028237" Y="-4.9994553111111095" Z="0" />
            <Max X="7.3949969205971753" Y="5.0005246888888895" Z="0" />
          </Extent>
          <Position>
            <Location X="2.3950069205971758" Y="0.00053468888888995314" Z="0" />
            <Axis X="0" Y="0" Z="1" />
            <Reference X="1" Y="0" Z="0" />
          </Position>
        </Ellipse>

椭圆弧(EllipseArc)

填充类型(FillStyle)

图形元素(GraphicalElement)

基本图形(GraphicalPrimitive)

点(Point)

折线 (PolyLine)

  <PolyLine NumPoints="4">
        <Presentation B="0.0" G="0.0" LineType="0" LineWeight="0.0003" R="0.501960784314"/>
        <Coordinate X="0.005" Y="0.00875"/>
        <Coordinate X="0.01" Y="0.00875"/>
        <Coordinate X="-0.01" Y="-0.00875"/>
        <Coordinate X="-0.005" Y="-0.00875"/>
      </PolyLine>

多边形(Polygon)

形状(Shape)

形状目录(ShapeCatalogue)

笔画(Stroke)

实例

下面是一幅P&ID图

C01V04.xml 文档 

在上面的文档中

 PipingNetworkSystem 

ProcessInstrumentationFunction

Equipment

InstrumentationLoopFunction

Drawing

ShapeCatalogue

shapeCatalogue

ShapeCatalogue中包含了符号

例如:设备

    <Equipment ID="TaggedPlantItemShape-1" ComponentName="CENTRIFUGAL_PUMP_SHAPE">
      <GenericAttributes Set="DexpiAttributes" Number="1">
        <GenericAttribute Name="SymbolRegistrationNumberAssignmentClass" AttributeURI="http://sandbox.dexpi.org/rdl/SymbolRegistrationNumberAssignmentClass" Format="string" Value="ISO10628:2012-2322-A"/>
      </GenericAttributes>
      <Circle Radius="7.5">
        <Presentation LineType="0" LineWeight="0.3" R="0.501960784" G="0" B="0"/>
        <Position>
          <Location X="0" Y="0" Z="0"/>
          <Axis X="0" Y="0" Z="1"/>
          <Reference X="1" Y="0" Z="0"/>
        </Position>
      </Circle>
      <PolyLine NumPoints="2">
        <Presentation LineType="0" LineWeight="0.3" R="0.501960784" G="0" B="0"/>
        <Coordinate X="-7.5" Y="0"/>
        <Coordinate X="7.5" Y="0"/>
      </PolyLine>
      <PolyLine NumPoints="3">
        <Presentation LineType="0" LineWeight="0.3" R="0.501960784" G="0" B="0"/>
        <Coordinate X="0" Y="-7.5"/>
        <Coordinate X="7.5" Y="0"/>
        <Coordinate X="0" Y="7.5"/>
      </PolyLine>
    </Equipment>

 喷头

  <Nozzle ID="NozzleShape-1" ComponentName="MANHOLE_SHAPE">
      <GenericAttributes Set="DexpiAttributes" Number="1">
        <GenericAttribute Name="SymbolRegistrationNumberAssignmentClass" AttributeURI="http://sandbox.dexpi.org/rdl/SymbolRegistrationNumberAssignmentClass" Format="string" Value="ISO10628:2012-X8159-A"/>
      </GenericAttributes>
      <PolyLine NumPoints="3">
        <Presentation LineType="0" LineWeight="0.4" R="0.501960784" G="0" B="0"/>
        <Coordinate X="0" Y="5"/>
        <Coordinate X="10" Y="5"/>
        <Coordinate X="10" Y="7.5"/>
      </PolyLine>
      <PolyLine NumPoints="3">
        <Presentation LineType="0" LineWeight="0.4" R="0.501960784" G="0" B="0"/>
        <Coordinate X="0" Y="-5"/>
        <Coordinate X="10" Y="-5"/>
        <Coordinate X="10" Y="-7.5"/>
      </PolyLine>
      <PolyLine NumPoints="2">
        <Presentation LineType="0" LineWeight="0.4" R="0.501960784" G="0" B="0"/>
        <Coordinate X="13.5" Y="7.5"/>
        <Coordinate X="13.5" Y="-7.5"/>
      </PolyLine>
    </Nozzle>

PipingComponent

 <PipingComponent ID="PipingComponentShape-1" ComponentName="BALL_VALVE_SHAPE">
      <GenericAttributes Set="DexpiAttributes" Number="1">
        <GenericAttribute Name="SymbolRegistrationNumberAssignmentClass" AttributeURI="http://sandbox.dexpi.org/rdl/SymbolRegistrationNumberAssignmentClass" Format="string" Value="ISO10628:2012-X8071-A"/>
      </GenericAttributes>
      <PolyLine NumPoints="5">
        <Presentation LineType="0" LineWeight="0.25" R="0.501960784" G="0.501960784" B="0"/>
        <Coordinate X="-5" Y="2.5"/>
        <Coordinate X="5" Y="-2.5"/>
        <Coordinate X="5" Y="2.5"/>
        <Coordinate X="-5" Y="-2.5"/>
        <Coordinate X="-5" Y="2.5"/>
      </PolyLine>
      <Circle Radius="2.5" Filled="Solid">
        <Presentation LineType="0" LineWeight="0.25" R="1" G="1" B="1"/>
        <Position>
          <Location X="0" Y="0" Z="0"/>
          <Axis X="0" Y="0" Z="1"/>
          <Reference X="1" Y="0" Z="0"/>
        </Position>
      </Circle>
      <Circle Radius="2.5">
        <Presentation LineType="0" LineWeight="0.25" R="0.501960784" G="0.501960784" B="0"/>
        <Position>
          <Location X="0" Y="0" Z="0"/>
          <Axis X="0" Y="0" Z="1"/>
          <Reference X="1" Y="0" Z="0"/>
        </Position>
      </Circle>
    </PipingComponent>

 PipeFlowArrow

   <PipeFlowArrow ID="PipeFlowArrowShape-2" ComponentName="DIRECTION_OF_FLOW_SHAPE_FOR_SECONDARY_SEGMENT">
      <GenericAttributes Set="DexpiAttributes" Number="1">
        <GenericAttribute Name="SymbolRegistrationNumberAssignmentClass" AttributeURI="http://sandbox.dexpi.org/rdl/SymbolRegistrationNumberAssignmentClass" Format="string"/>
      </GenericAttributes>
      <PolyLine NumPoints="3">
        <Presentation LineType="0" LineWeight="0.25" R="0.501960784" G="0.501960784" B="0"/>
        <Coordinate X="-2.5" Y="2.5"/>
        <Coordinate X="0" Y="0"/>
        <Coordinate X="-2.5" Y="-2.5"/>
      </PolyLine>
    </PipeFlowArrow>

DEXPI 的OPCUA 配套规范

OPCUA 为DEXPI 建立了DEXPI的配套规范

OPC 30250: DEXPI P&ID

 https://reference.opcfoundation.org/DEXPI/v100/docs/

         这个配套规范是基于DEXPI 1.2 版本基础上构建的。它并没有包含ShapeCatalogue的图形符号。感觉还是一个早期的版本。 

小结

        DEXPI 是过程控制工业的信息模型的标准。与其它国际标准相互交织。并且需要一些数据库支持。其中包含的软件,技术和标准是比较复杂的。它们也会导入到OPC UA 信息模型中。在这个过程中,有大量的基础工作要做。

相关推荐

  1. 达梦导出工具dexp

    2024-02-01 18:44:02       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-01 18:44:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-01 18:44:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-01 18:44:02       82 阅读
  4. Python语言-面向对象

    2024-02-01 18:44:02       91 阅读

热门阅读

  1. 一篇文章了解正则表达式的替换技巧

    2024-02-01 18:44:02       55 阅读
  2. docker面试问题二

    2024-02-01 18:44:02       59 阅读
  3. 深入探讨 React 组件生命周期(旧版)

    2024-02-01 18:44:02       61 阅读
  4. IO 模型(BIO、NIO、多路复用)

    2024-02-01 18:44:02       53 阅读
  5. 127-前途与好人

    2024-02-01 18:44:02       44 阅读
  6. Shell - 学习笔记 - 2.6 - Shell $*和$@之间的区别

    2024-02-01 18:44:02       60 阅读
  7. Leetcode刷题(三十二)

    2024-02-01 18:44:02       54 阅读
  8. js跳转页面都有哪些方式?

    2024-02-01 18:44:02       66 阅读
  9. RK3568开发笔记-感光芯片ISL29035调试记录/IIO子系统

    2024-02-01 18:44:02       41 阅读
  10. 机器学习系列——(二)主要任务

    2024-02-01 18:44:02       55 阅读
  11. (安卓)跳转应用市场APP详情页的方式

    2024-02-01 18:44:02       54 阅读