Skip to content

Part 4 : Automation Services and Process Values

PROFIBUS International – MTP Specification Part 4 defines the modeling of services for Process Equipment Assemblies (PEAs). This includes the definition of service interfaces, procedures, parameters, report values, and the state machine logic that governs the execution of automation services.

Implemented aspects

Aspect Description MTPPy2.0
Command & State Codes Standardized numeric definitions for service commands and state identifiers. CommandCodes, StateCodes
Service Base Core definition of an MTP service, managing resources, procedures, and the overall service state. Service
Procedure A specific task within a service, defined by parameters and report values. Procedure
Service Control & State Machine Logic for managing state transitions (idle, starting, execute, etc.) and handling MTP commands. StateMachine, CommandEnControl, ServiceControl
Service Parameters Configuration and procedure parameters used to customize service behavior. ParameterElement, AnaServParam, BinServParam, DIntServParam, StringServParam
Process Value Inputs Standardized input elements used as inputs to services. InputElement, AnaProcessValueIn, BinProcessValueIn, DIntProcessValueIn, StringProcessValueIn
Report Values Process values emitted by procedures as report outputs. see Part 3

Class Diagram

classDiagram
    class MTPSet {
        <<SystemUnitClass>>
    }
    class TextSet {
        <<SystemUnitClass>>
    }
    class ServiceSet {
        <<SystemUnitClass>>
    }
    class Service {
        <<SystemUnitClass>>
    }
    class ConfigurationParameter {
        <<SystemUnitClass>>
    }
    class ServiceProcedure {
        <<SystemUnitClass>>
        IsSelfCompleting
        ProcedureId
        IsDefault
    }
    class ServiceParameter {
        <<SystemUnitClass>>
    }
    class ProcedureParameter {
        <<SystemUnitClass>>
    }
    class ProcessValueIn {
        <<SystemUnitClass>>
    }
    class ReportValue {
        <<SystemUnitClass>>
    }
    class ProcessValueOut {
        <<SystemUnitClass>>
    }
    class ServiceRelation {
        <<SystemUnitClass>>
        SourceServiceID
        SourceProcedureID
        SourceValue
        TargetServiceID
        TargetProcedureID
        TargetValue
    }

    MTPSet <|-- TextSet
    MTPSet <|-- ServiceSet
    ServiceSet *-- ServiceRelation : 0..*
    ServiceSet *-- Service : 0..*
    Service *-- ServiceProcedure : 1..*
    Service *-- ConfigurationParameter : 0..*
    ConfigurationParameter --|> ServiceParameter
    ProcedureParameter --|> ServiceParameter
    ProcessValueIn --|> ServiceParameter
    ReportValue --|> ServiceParameter
    ProcessValueOut --|> ServiceParameter
    ServiceProcedure *-- ProcedureParameter : 0..*
    ServiceProcedure *-- ProcessValueIn : 0..*
    ServiceProcedure *-- ReportValue : 0..*
    ServiceProcedure *-- ProcessValueOut : 0..*