Skip to content

Part 3 : Data Assembly Set (Base Interfaces)

The PROFIBUS International – MTP Specification Part 3 defines the Data Object Library for the Module Type Package (MTP). This part focuses on the syntactic and semantic definition of data interfaces, providing a library of standardized data objects (Indicator, Operation, and Active Elements) to ensure interoperability between PEAs and the POL.

Implemented aspects

Aspect Description MTPPy2.0
Access rights Read / Write / ReadWrite access semantics. MTPAccess
Base Functions Shared logic for handling Operation Modes, Source Modes, and other cross-cutting concerns. OperationMode, SourceMode, OSLevelBaseFunction, WQCBaseFunction
DataAssembly Base building block that provides TagName and TagDescription. DataAssembly
PeaElement DataAssembly subtype for PEA-level elements. PeaElement
PeaInformationLabel PEA-level device information such as manufacturer, model, serial number and device health. PeaInformationLabel
WebServerUrlInfo PEA-level reference to a web server. WebServerUrlInfo
Indicator Elements (Views) Semantic interfaces for reading process values, statuses, and views (e.g. AnaView, BinView). IndicatorElement, AnaView, BinView, DIntView, StringView
Operation Elements Semantic interfaces for writing values or commands to the PEA. OperationElement
Active Elements Standardized composite objects combining indicators and operation elements (e.g. Valves, Drives, PID Controllers). ActiveElement, AnaDrv, BinDrv, MonAnaDrv, MonBinDrv, PIDCtrl, AnaVlv, BinVlv, MonAnaVlv, MonBinVlv
Diagnostic Elements Interfaces providing health and diagnostic information for components. DiagnosticElement

Class Diagram

classDiagram
    direction LR
    class DataAssembly {
        <<SystemUnitClass>>
        +str mtpObjectType
        +str tag_name
        +str tag_description
    }
    class PeaElement {
        <<SystemUnitClass>>
    }
    class IndicatorElement {
        <<SystemUnitClass>>
        +OSLevelBaseFunction os_level
        +WQCBaseFunction wqc
    }
    class AnaView {
        <<SystemUnitClass>>
        +float v_scl_min
        +float v_scl_max
        +int v_unit
    }
    class BinView {
        <<SystemUnitClass>>
    }
    class DIntView {
        <<SystemUnitClass>>
    }
    class StringView {
        <<SystemUnitClass>>
    }
    class OperationElement {
        <<SystemUnitClass>>
        +OSLevelBaseFunction os_level
    }
    class ActiveElement {
        <<SystemUnitClass>>
        +OSLevelBaseFunction os_level
        +WQCBaseFunction wqc
    }
    class AnaDrv {
        <<SystemUnitClass>>
    }
    class BinDrv {
        <<SystemUnitClass>>
    }
    class MonAnaDrv {
        <<SystemUnitClass>>
    }
    class MonBinDrv {
        <<SystemUnitClass>>
    }
    class PIDCtrl {
        <<SystemUnitClass>>
    }
    class AnaVlv {
        <<SystemUnitClass>>
    }
    class BinVlv {
        <<SystemUnitClass>>
    }
    class MonAnaVlv {
        <<SystemUnitClass>>
    }
    class MonBinVlv {
        <<SystemUnitClass>>
    }
    class DiagnosticElement {
        <<SystemUnitClass>>
        +WQCBaseFunction wqc
    }
    class PeaInformationLabel {
        <<SystemUnitClass>>
    }
    class WebServerUrlInfo {
        <<SystemUnitClass>>
    }

    DataAssembly <|-- PeaElement
    PeaElement <|-- PeaInformationLabel
    PeaElement <|-- WebServerUrlInfo

    DataAssembly <|-- IndicatorElement
    IndicatorElement <|-- AnaView
    IndicatorElement <|-- BinView
    IndicatorElement <|-- DIntView
    IndicatorElement <|-- StringView

    DataAssembly <|-- OperationElement

    DataAssembly <|-- ActiveElement
    ActiveElement <|-- AnaDrv
    ActiveElement <|-- BinDrv
    ActiveElement <|-- PIDCtrl
    ActiveElement <|-- AnaVlv
    ActiveElement <|-- BinVlv
    AnaDrv <|-- MonAnaDrv
    BinDrv <|-- MonBinDrv
    AnaVlv <|-- MonAnaVlv
    BinVlv <|-- MonBinVlv

    DataAssembly <|-- DiagnosticElement