MEMSET-Baustein

Kurz-Information

Name

MEMSET

→POE-Typ

→Funktion

Kategorie

IEC-Baustein, MemoryEnh, Baustein mit interner Fehlerdiagnose

Konform zur →IEC-Norm

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/add.svg nicht in IEC-Norm vorgesehen

Grafische Schnittstelle

images/download/thumbnails/414781840/MEMSET-version-1-modificationdate-1535027053258-api-v2.png

Verfügbar ab

  • Version 1.35.0 (für logi.CAD 3) – Anfangsvariante

  • Version 2.0.9 (für Bibliothek Standard) – grafische Schnittstelle mit Ein-/Ausgangsvariable

  • Version 3.5.0 (für Bibliothek Standard) – Einschränkung "keine Funktionsbausteine mit allgemeinen Datentypen"

Funktionalität

Der Baustein initialisiert Bytes des Eingangswerts mit einem vorgegebenen Wert.

Sie geben den Eingangswert über den Eingang IN ein und den Wert für die Initialisierung über den Eingang VAL. Die Anzahl der Bytes, die im Eingangswert initialisiert werden, geben Sie über den Eingang LEN ein.
Standardmäßig ist der Wert 0 für die Initialisierung und für die Anzahl der Bytes vorgegeben.

Spezialfälle:

  • Bei LEN = 0 werden die Anzahl der Bytes, die im Eingangswert zu initialisieren sind, automatisch berechnet.

  • Falls der Wert für LEN > als die maximal mögliche Größe des Eingangswerts IN ist, wird bis zur maximalen Größe des Eingangswerts initialisiert und der Ausgang ENO auf den Wert FALSE gesetzt.

  • Falls an IN ein STRING-Element mit einer Länge anliegt, wird die Länge des STRING-Buffers verwendet. Die Länge des STRING-Buffers wird durch die Deklaration bestimmt.
    STRING-Elemente mit einer Länge sind von Ihnen deklarierte STRING-Variablen; siehe " Deklaration von STRING-Variablen (inkl. Zugriff)" .

  • Falls an IN ein STRING-Element ohne einer Länge anliegt, wird ebenfalls die Länge des STRING-Buffers verwendet. Die Länge des STRING-Buffers wird jedoch durch den resultierenden Wert bestimmt.
    STRING-Elemente ohne einer anwenderdefinierten Länge ergeben sich, wenn Sie STRING-Funktionen oder →Zeichenfolge-Literal verwenden.

Eingänge, Ausgänge


Bezeichner

→Datentyp

Beschreibung

Ein-/Ausgänge
(VAR_IN_OUT):

IN

REAL, LREAL, USINT, UINT, UDINT, ULINT, SINT, INT, DINT, LINT, TIME, BOOL, BYTE, WORD, DWORD, LWORD, STRING, CHAR, DATE_AND_TIME, DATE, TIME_OF_DAY, ein →anwenderdefinierter Datentyp oder ein →Funktionsbaustein
Einschränkung: Bei →ARRAY-Datentypen sind nur ein-dimensionale Arrays zulässig.

Weitere Einschränkung: Bei Funktionsbausteinen sind keine Funktionsbausteine mit einem →allgemeinen Datentyp zulässig. Als Folge dieser Einschränkung können Sie die folgenden Bausteine nicht als Eingang des aktuellen Bausteins verwenden: LIMITER_O, LIMITER_U, FORCEMRK, MAX_HOLD, MIN_HOLD und →Vendor-Funktionsbausteine , die mit einem allgemeinen Datentyp deklariert sind
Falls Sie dennoch Instanzen von diesen Funktionsbausteinen verwenden, kommt es beim Erstellen der Anwendung zu einem Linker-Fehler.

Eingangswert

Eingänge:

VAL

USINT

Wert für Initialisierung; Standardwert = 0

LEN

UDINT

Anzahl der Bytes, die auf VAL gesetzt werden; Standardwert = 0

Der Eingang EN und der Ausgang ENO sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.

Informieren Sie sich unter:

Interne Fehlerdiagnose für Baustein

Der Baustein prüft vor der Ausführung die anliegenden Werte.
Falls der Wert für LEN > als die maximal mögliche Größe des Eingangswerts IN ist, wird der Ausgang ENO des Bausteins auf den Wert Wert FALSE (oder eine Entsprechung) gesetzt.

Beispiel für Verwendung im ST-Editor

PROGRAM Test
VAR
Var1, Var2 : BYTE := 0;
Var3, Var4 : DINT := 0;
END_VAR
MEMSET(IN := Var1, VAL := 16#0A, LEN := 1); (* The variable 'Var1' evaluates to '10'. *)
MEMSET(IN := Var2, VAL := 16#0C, LEN := 1); (* The variable 'Var2' evaluates to '12'. *)
MEMSET(IN := Var3, VAL := 16#0C, LEN := 1); (* The variable 'Var3' evaluates to '12'. *)
MEMSET(IN := Var4, VAL := 16#0A, LEN := 3); (* The variable 'Var4' evaluates to '657930'. *)
END_PROGRAM

Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.