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