Vai al contenuto
Vai all indice del manuale di programmazione
Tipo: Funzione
Libreria LogicLab: eLLabXUnified12Lib
Libreria Codesys: eCDSXUnified12Lib

La funzione riempie l’area di memoria definita dal parametro Buf con il dato definito nel parametro Ch. Il parametro Size definisce la dimensione dell’area da riempire. La funzione ritorna l’indirizzo dell’area di memoria da riempire.

Descrizione

Buf (@BYTE) Indirizzo area di memoria in cui trasferire il dato.
Ch (INT) Dato da trasferire.
Size (UDINT) Dimensione area di memoria da occupare

La funzione ritorna una variabile (@BYTE) con l’indirizzo dell’area di memoria in cui ha trasferito il dato. In caso di errore viene ritornato eNULL.

Immagine funzione Sysmemset

Esempi

Come utilizzare gli esempi.
Attivando da debuf la variabile CSet la funzione Sysmemset azzera il buffer Message, terminata l’esecuzione Result sarà settato con l’indirizzo del buffer.

LogicLab (Ptp116, ST_Sysmemset)
PROGRAM ST_Sysmemset
VAR
    CSet : BOOL; (* Set command *)
    Result : PVOID; (* Function result *)
    Message: STRING[ 32 ]; (* Memory buffer *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_Sysmemset"
// *****************************************************************************
// By setting the "Set" command the memory zeroed.
// -----------------------------------------------------------------------------

    IF (CSet) THEN
        CSet:=FALSE; //Set command
        Result:=Sysmemset(ADR(Message), 0, SIZEOF(Message));
    END_IF;

// [End of file]
CODESYS (Ptp161)
PROGRAM ST_Sysmemset
VAR
    CSet : BOOL; //Set command
    Result : UDINT; //Function result
    Message: STRING[ 32 ]; //Memory buffer
END_VAR

// *****************************************************************************
// PROGRAM "ST_Sysmemset"
// *****************************************************************************
// By setting the "Set" command the memory zeroed.
// -----------------------------------------------------------------------------

    IF (CSet) THEN
        CSet:=FALSE; //Set command
        Result:=Sysmemset(ADR(Message), 0, SIZEOF(Message));
    END_IF;

// [End of file]
Was this article helpful?