Sysmemset, memory set

List

Questa pagina fa parte del Manuale Programmazione IEC 61131-3. Vai all indice.

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.

Information Circle

Funzione

CODESYS: eCDSXUnified12Lib

LogicLab: eLLabXUnified12Lib

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)
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]
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?