FB_PMA_TaskTransfer_Receive
Der Funktionsbaustein FB_PMA_TaskTransfer_Receive kann verwendet werden, um Daten von einer langsamen Task zurück in eine schnelle Task zu übertragen. Dies kann erforderlich sein, wenn rechenintensive Algorithmen in eine langsame Task ausgelagert wurden und die Ergebnisse in einer anderen Task benötigt werden.
Der Eingangspuffer wird über den Funktionsbaustein FB_PMA_TaskTransfer_Send bereitgestellt. Der zu initialisierende Puffer muss mindestens so groß sein wie die zu übermittelnden Daten.
Syntax
Definition:
FUNCTION BLOCK FB_PMA_TaskTransfer_Receive
VAR_INPUT
nOwnID : UDINT
tTransferTimeout : LTIME := LTIME#500US
stInitPars : ST_PMA_TaskTransfer_InitPars;
END_VAR
VAR_OUTPUT
bError : BOOL;
ipResultMessage : I_TcMessage;
bNewResult : BOOL;
nCntResults : ULINT;
END_VAR
Eingänge
Die Eingangsparameter dieses Bausteins repräsentieren Initialisierungsparameter und müssen bereits bei der Deklaration der Funktionsbausteininstanz zugewiesen werden (alternativ: Init-Methode). Sie dürfen nur einmal zugewiesen werden. Eine Änderung zur Laufzeit ist nicht möglich.
Name | Typ | Beschreibung |
---|---|---|
nOwnID | UDINT | Identifiziert die Bausteininstanz mit einer eindeutigen ID. Diese muss immer größer als null sein. Eine bewährte Vorgehensweise ist die Definition einer Enumeration für diesen Zweck. |
aDestIDs | ARRAY[1..GVL_PMA.cMA_MaxDest] OF UDINT | Identifiziert die Bausteininstanz mit einer eindeutigen ID. Diese muss immer größer als null sein. Eine bewährte Vorgehensweise ist die Definition einer Enumeration für diesen Zweck. |
nResultBuffers | UDINT | Anzahl von MultiArray-Puffern, die für die Ergebnisse initialisiert werden. |
tTransferTimeout | LTIME | Einstellung des synchronen Timeout für interne MultiArray-Weiterleitungen. Siehe Parallelverarbeitung im Transfer Tray. |
stInitPars | Bausteinspezifische Struktur mit Initialisierungsparametern. Die Parameter müssen mit der Definition der Ein- und Ausgangspuffer übereinstimmen. |
Ausgänge
Name | Typ | Beschreibung |
---|---|---|
bError | BOOL | TRUE, falls ein Fehler auftritt. |
ipResultMessage | I_TcMessage | Das Interface bietet detaillierte Informationen über den Rückgabewert. |
bNewResult | BOOL | TRUE, sobald neue Ergebnisse bereitgestellt wurden. |
nCntResults | ULINT | Zählwert wird bei neuen Ausgangsdaten inkrementiert. |
Methoden
Name | Beschreibung |
---|---|
Die Methode wird in jedem Zyklus aufgerufen, um die Werte aus den Eingangspuffer zu lesen, wenn neue Daten vorhanden sind. | |
Alternative zur Bausteininitialisierung |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.0 | PC oder CX (x86, x64) | Tc3_PowerMonitoring |