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, wobeiSie die Zahl 0 nicht verwenden dürfen.
Die boolesche Variable IsSelfCompleting gibt an, ob die prozesstechnische(n) Funktion(en) einer Prozedur sich selbständig beenden können (z. B. durch Ablauf einer Zeit, Erreichen eines Zustands o. ä.).
Ist IsSelfCompleting = TRUE, verlässt die interne Logik den Zustand Execute automatisch, sobald die interne Abschlussbedingung erfüllt ist. Zusätzlich kann Execute jederzeit durch die Befehle Stop oder Abort verlassen werden.
Ist IsSelfCompleting = FALSE, erfolgt das Verlassen des Zustands Execute ausschließlich durch externe Steuerbefehle (z. B. Complete oder Stop).
CommandInfo ist nach E_MTP_CommandEn codiert und gibt an, welche Steuerbefehle aktuell freigegeben sind.
Die Variable CommandAdapt ist nach E_MTP_CommandEn codiert. Mit ihr können Sie die Freigabe von Steuerbefehlen in CommandInfo zusätzlich einschränken.
![]() | Die Variable |
![]() | Bei dem |
![]() | Für die Verwendung von Prozeduren empfehlen wir die Verwendung des TwinCAT 3 MTP-Engineering und die darin enthaltene automatische Codegenerierung. |
Benötigte Parameter und Betriebsmittel
Der Funktionsbaustein bekommt die zur Ausführung benötigten Prozessparameter ProcParameters als Array[0..(cProcParameters-1)] OF I_MTP_ParameterElement übergeben. Die benötigten Betriebsmittel RequiredEquipment werden als Array[0..(cRequiredEquipment)] OF I_MTP_DataAssembly ü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.
![]() | Die Methoden beinhalten teilweise vordefinierte Logik (siehe Beschreibung der Methoden). Diese können Sie durch ein erneutes Erstellen der Methode überschreiben. |
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
// ************************************************************************
// * This file was automatically generated by TwinCAT 3 MTP Engineering. *
// * *
// * INFO: Implement service states in methods. Variables related to *
// * this procedure should be added here. This function block can extend *
// * existing procedure function blocks. *
// * *
// * Generated on: 12.34.5678 01:23:45 *
// * TwinCAT 3 MTP Engineering Version: 1.1.0.0 *
// ************************************************************************
FUNCTION_BLOCK FB_MTP_Volume_Filling
VAR_GENERIC CONSTANT
cProcParameter_Volume_Filling : UINT := 1;
cRequiredEquipment_Volume_Filling : UINT := 1;
END_VAR
EXTENDS FB_MTP_Procedure<cProcParameter_Volume_Filling, cRequiredEquipment_Volume_Filling>
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 [0..(cProcparameters-1)] OF I_MTP_INTERNAL_ParameterElement | Benötigte Prozedurparameter | - |
RequiredEquipment | ARRAY [0..(cRequiredEquipment-1)] OF I_MTP_DataAssembly | Benötigte Betriebsmittel | - |
IsSeIfCompIeting | BOOL | 1: Prozedur ist selbstbeendend. 0: Prozedur wird über den Steuerbefehl beendet. | Lesen |
ProcedureID | DWORD | Eindeutige Identifikation der Prozedur innerhalb des Dienstes. | Lesen |
CommandAdapt | DWORD | Variable zum Sperren von Zustandsübergängen. | - |
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 |
