SET_CHAR

Scrive un valore di carattere nella posizione specificata di una stringa

Questa funzione imposta il valore del carattere a 8 bit di sString con iPosition che indica la posizione del carattere nella stringa, dove 1 è il primo carattere della stringa.

Ingresso

Value (WORD, DWORD)

I dati di ingresso da cui il valore del byte inferiore viene scritto nei dati del carattere

iPosition (INT, DINT, UINT, UDINT)

Posizione del carattere nella stringa, dove 1 è il primo carattere della stringa, deve essere maggiore o uguale a 1

Ingresso/uscita

sString (STRING)

Stringa a cui è impostato il carattere

Note

  • Si prega di verificare la validità dei dati di ingresso, poiché Control FPWIN Pro7 non controlla la validità dei dati a cui si accede.

  • Verificare che la posizione specificata non superi il numero massimo di caratteri o sia superiore al numero attuale di caratteri.

  • Quando si applica una funzione SET_CHAR a una stringa, la lunghezza della stringa, cioè il numero attuale di caratteri della stringa, non viene modificata. Se è necessario modificare la lunghezza della stringa, utilizzare la funzione SET_LEN.

NOTA

Per ottenere le migliori prestazioni, utilizzare il più possibile valori di ingresso costanti!

Esempio

Intestazione del POU

Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.

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

Corpo LD

Quando la variabile bStart è impostata su TRUE, la funzione viene eseguita.

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

Corpo ST

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

L'ultima revisione: 2025-03-12Feedback su questa paginaPanasonic hotline