FB_MTP_Procedure

Der Funktionsbaustein FB_MTP_Procedure
enthält alle Attribute und Methoden zum Beschreiben einer Prozedur. Eine Prozedur ist eine Ausführungsvariante eines Dienstes und kann daher nur einem Dienst zugewiesen werden. Alle Prozeduren erhalten eine im Dienst einmalige ProcedureID
. Diese müssen Sie durch eine natürliche Zahl beschreiben, wobei die Zahl 0 nicht verwendet werden darf! Über die Variable IsSelfCompleting
wird angegeben, ob die prozesstechnische(n) Funktion(en) der Prozedur sich selbst beendet/beenden (z. B. nach Ablauf einer Zeit).
Die Ausgänge IsSelfCompleting
und ProcedureID
werden bei der Instanziierung dieses Funktionsbausteins initialisiert.
CommandInfo
ist nach E_MTP_CommandEn codiert und wird für jede Prozedur, die sich im Zustand Automatic
oder Operator
befindet, separat und unabhängig vom Zustand des Dienstes aktualisiert. Sie gibt an, welche Steuerbefehle aktuell freigegeben sind.
Die Variable CommandAdapt
ist nach E_MTP_CommandEn codiert. Mit ihr kann die Freigabe von Steuerbefehlen in CommandInfo
zusätzlich eingeschränkt werden.
![]() | Die Variable |
![]() | Bei dem |
![]() | Für die Verwendung von Prozeduren wird die Verwendung des MTP-Engineering und die darin enthaltene automatische Codegenerierung empfohlen! |
Benötigte Parameter und Betriebsmittel
Der Funktionsbaustein bekommt die zur Ausführung benötigten Prozessparameter ProcParameters
als Array[*] OF POINTER TO FB_MTP_ParameterElement
übergeben. Die benötigten Betriebsmittel RequiredEquipment
werden als Array[*] OF POINTER TO I_MTP_ReqEq
übergeben.
![]() | Sollten keine |
Dienste-Zustandsautomat
Die Zustände des Dienstzustandsautomaten werden in den gleichnamigen Methoden dieses Funktionsblocks ausgeführt. Der Aufruf der Methoden erfolgt durch den Dienstzustandsautomat.
Aufruf der Prozedur
Die Prozeduren können vom übergeordneten Dienst aufgerufen werden. Im Funktionsblock FB_MTP_ServiceControl ist ein möglicher Aufruf beschrieben.
Weitere Eigenschaften
Syntax
FUNCTION_BLOCK FB_MTP_Procedure_1_Service EXTENDS FB_MTP_Procedure
Eingänge
Name | Typ | Beschreibung | OPC-UA-Zugriff |
---|---|---|---|
TagName | STRING | Name der Schnittstelle | - |
TagDescription | STRING | Beschreibung der Schnittstelle | - |
WQC | BYTE | Worst Quality Code | Lesen |
CommandInfo | DWORD | Aktuell freigegebene Steuerbefehle | Lesen |
ProcParameters | ARRAY [*] OF POINTER TO POINTER TO FB_MTP_ParameterElement | Benötigte Prozedurparameter | - |
RequiredEquipment | ARRAY [*] OF POINTER TO I_MTP_ReqEq | Benötigte Betriebsmittel | - |
CommandAdapt | DWORD | Variable zum Sperren von Zustandsübergängen | - |
Ausgänge
Name | Typ | Beschreibung | OPC-UA-Zugriff |
---|---|---|---|
IsSeIfCompIeting | BOOL | 1: Prozedur ist selbstbeendend. 0: Prozedur wird über den Steuerbefehl beendet. | Lesen |
ProcedureID | DWORD | Eindeutige Identifikation der Prozedur innerhalb des Dienstes | Lesen |
Methoden
Name | Typ | Beschreibung |
---|---|---|
Aborted | BOOL | Implementierung der Logik für den Zustand |
Aborting | BOOL | Implementierung der Logik für den Zustand |
Completed | BOOL | Implementierung der Logik für den Zustand |
Completing | BOOL | Implementierung der Logik für den Zustand |
Execute | BOOL | Implementierung der Logik für den Zustand |
Held | BOOL | Implementierung der Logik für den Zustand |
Holding | BOOL | Implementierung der Logik für den Zustand |
Paused | BOOL | Implementierung der Logik für den Zustand |
Pausing | BOOL | Implementierung der Logik für den Zustand |
Resetting | BOOL | Implementierung der Logik für den Zustand |
Resuming | BOOL | Implementierung der Logik für den Zustand |
Starting | BOOL | Implementierung der Logik für den Zustand |
Stopping | BOOL | Implementierung der Logik für den Zustand |
Stopped | BOOL | Implementierung der Logik für den Zustand |
Unholding | BOOL | Implementierung der Logik für den Zustand |
IsActuatorsInternal | BOOL | 1: Alle der Prozedur zugeordneten Aktoren befinden sich im Zustand |
IsActuatorsManual | BOOL | 1: Alle der Prozedur zugeordneten Aktoren befinden sich im Zustand |
IsActuatorsOffline | BOOL | 1: Alle der Prozedur zugeordneten Aktoren befinden sich im Zustand |
IsActuatorsOperator | BOOL | 1: Alle der Prozedur zugeordneten Aktoren befinden sich im Zustand |
IsActuatorsAutomatic | BOOL | 1: Alle der Prozedur zugeordneten Aktoren befinden sich im Zustand |
IsReqEqInternal | BOOL | 1: Alle der Prozedur zugeordneten Aktoren und PID-Logik befinden sich im Zustand |
IsReqEqManual | BOOL | 1: Alle der Prozedur zugeordneten Aktoren und PID-Logik befinden sich im Zustand |
IsReqEqOffline | BOOL | 1: Alle der Prozedur zugeordneten Aktoren und PID-Logik befinden sich im Zustand |
IsReqEqOperator | BOOL | 1: Alle der Prozedur zugeordneten Aktoren und PID-Logik befinden sich im Zustand |
IsReqEqAutomatic | BOOL | 1: Alle der Prozedur zugeordneten Aktoren und PID-Logik befinden sich im Zustand |
SetActuatorsInternal | BOOL | Alle der Prozedur zugeordneten Aktoren werden in den Zustand |
SetActuatorsManual | BOOL | Alle der Prozedur zugeordneten Aktoren werden in den Zustand |
SetActuatorsOffline | BOOL | Alle der Prozedur zugeordneten Aktoren werden in den Zustand |
SetActuatorsOperator | BOOL | Alle der Prozedur zugeordneten Aktoren werden in den Zustand |
SetActuatorsAutomatic | BOOL | Alle der Prozedur zugeordneten Aktoren werden in den Zustand |
SetReqEqInternal | BOOL | Alle der Prozedur zugeordneten Aktoren und PID-Logik werden in den Zustand |
SetReqEqManual | BOOL | Alle der Prozedur zugeordneten Aktoren und PID-Logik werden in den Zustand |
SetReqEqOffline | BOOL | Alle der Prozedur zugeordneten Aktoren und PID-Logik werden in den Zustand |
SetReqEqOperator | BOOL | Alle der Prozedur zugeordneten Aktoren und PID-Logik werden in den Zustand |
SetReqEqAutomatic | BOOL | Alle der Prozedur zugeordneten Aktoren und PID-Logik werden in den Zustand |