Sysmemset, set de memorie

Listă

Această pagină face parte din Manual de programare IEC 61131-3. Mergeți la index.

Funcția umple zona de memorie definită de parametru Buf cu datele definite în parametru Ch. Parametrul Size definește dimensiunea zonei de umplut. Funcția returnează adresa zonei de memorie care trebuie completată.

Cercul de informații

funzione

CODESYS: eCDSXUnified12Lib

LogicLab: eLLabXUnified12Lib

Descriere

Buf (@BYTE) Adresa zonei de memorie în care se transferă datele.
Ch (INT) Datele care urmează să fie transferate.
Size (UDINT) Mărimea zonei de memorie care trebuie ocupată

Funcția returnează o variabilă (@BYTE) cu adresa zonei de memorie unde a transferat datele. In caz de eroare se returneaza eNULL.

Imaginea funcției Sysmemset

Exemple

Cum se utilizează exemplele.
Prin activarea variabilei din debuf CSet funcția Sysmemset resetați tamponul Message, când execuția este terminată Result va fi setat cu adresa tampon.

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]
A fost util acest articol?