SET_CHAR

Schreiben eines Zeichenwerts an die angegebene Position in einer Zeichenkette

Diese Funktion setzt den 8-Bit-Zeichenwert von sString, wobei iPosition die Position des Zeichens in der Zeichenkette angibt und 1 das erste Zeichen der Zeichenkette ist.

Eingang

Value (WORD, DWORD)

Die Eingangsdaten, von denen der Wert des unteren Bytes in die Zeichendaten geschrieben wird

iPosition (INT, DINT, UINT, UDINT)

Position des Zeichens in der Zeichenkette, wobei 1 das erste Zeichen der Zeichenkette ist, muss größer oder gleich 1 sein

Ein-/Ausgang

sString (STRING)

Zeichenkette, auf die das Zeichen gesetzt wird

Anmerkungen

  • Bitte überprüfen Sie die Gültigkeit der Eingabedaten, da Control FPWIN Pro7 die Gültigkeit der Daten, auf die zugegriffen wird, nicht überprüft.

  • Bitte überprüfen Sie, ob die angegebene Position die maximale Anzahl von Zeichen nicht überschreitet oder höher ist als die aktuelle Anzahl von Zeichen.

  • Wenn Sie eine SET_CHAR-Funktion auf eine Zeichenkette anwenden, wird die Länge der Zeichenkette, d.h. die aktuelle Anzahl der Zeichen in der Zeichenkette, nicht verändert. Wenn es notwendig ist, die Länge der Zeichenkette zu ändern, verwenden Sie die Funktion SET_LEN.

Anmerkung

Um die beste Leistung zu erzielen, verwenden Sie bitte so oft wie möglich konstante Eingabewerte!

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		bStart: BOOL:=FALSE;
		sInputString: STRING[32]:='ABCDabcd';
	END_VAR

KOP-Rumpf

Wenn die Variable bStart auf TRUE gesetzt wird, wird die Funktion ausgeführt.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_CONTACT,,bStart,4,3,6,5,);
B(B_F,E_SET_CHAR!,,14,2,22,8,,?DEN?DValue?DiPosition?DsString?AsString?AENO);
B(B_VARIN,,77,12,4,14,6,);
B(B_VARIN,,8,12,5,14,7,);
B(B_VARIN,,sInputString,12,6,14,8,);
L(1,0,1,8);
L(1,4,4,4);
L(6,4,14,4);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

if (bSTart) then
	SET_CHAR(Value := 77, iPosition := 8, sString := sInputString);
end_if;

Letzte Änderung: 2025-03-12Feedback zu dieser SeitePanasonic Hotline