F_CheckMemoryArea

F_CheckMemoryArea 1:

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

F_CheckMemoryArea 2: 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)