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_VARName  | 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)  |