F_CheckMemoryArea

Die Funktion liefert Informationen darüber, in welchem Speicherbereich sich die angefragte Variable mit angegebener Größe befindet. Hierzu wird ein Rückgabewert vom Typ E_TcMemoryArea verwendet.
FUNCTION F_CheckMemoryArea: E_TcMemoryArea
Eingänge
VAR_INPUT
pData : PVOID;
nSize : UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
pData | PVOID | Speicheradresse der Variablen |
nSize | UDINT | Größe der Variablen in Bytes |
Beispiel
PROGRAM MAIN
VAR
nCounter : USINT;
eMemAreaStatic : E_TcMemoryArea;
pDynamicVariable : POINTER TO LREAL;
eMemAreaDynamic : E_TcMemoryArea;
pNull : PVOID := 0;
eMemAreaUnknown : E_TcMemoryArea;
END_VAR
-------------------------------------------------------------------
nCounter := nCounter + 1;
eMemAreaStatic := F_CheckMemoryArea( pData:=ADR(nCounter), nSize:=SIZEOF(nCounter) );
IF nCounter = 100 THEN
pDynamicVariable := __NEW(LREAL);
IF pDynamicVariable <> 0 THEN
pDynamicVariable^ := 7 * 4.5;
eMemAreaDynamic := F_CheckMemoryArea( pData:=pDynamicVariable, nSize:=SIZEOF(LREAL) );
__DELETE(pDynamicVariable);
END_IF
END_IF
eMemAreaUnknown := F_CheckMemoryArea( pData:=pNull, nSize:=1 );
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.4022 | PC oder CX (x86, x64, ARM) | Tc2_System (System) |