GET_CHAR

Leggere un valore di carattere nella posizione specificata di una stringa

Questa funzione ottiene 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.

Il byte inferiore del risultato contiene il valore del byte, mentre i byte superiori del risultato sono riempiti con caratteri zero.

Ingresso

sString (STRING)

Stringa da cui si ottiene il carattere

iPosition (INT, DINT, UINT, UDINT)

Posizione del carattere che viene ottenuto, dove 1 è il primo carattere della stringa, deve essere maggiore o uguale a 1.

Uscita

Unnamed output (WORD, DWORD)

Il valore del byte del risultato con i byte superiori riempiti con caratteri zero.

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.

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';
		wCharvalue: WORD:=16#61;
	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 := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bStart,3,1,5,3,);
B(B_F,E_GET_CHAR!,,14,0,21,5,,?DEN?DsString?DiPosition?AENO?C);
B(B_VARIN,,sInputString,12,2,14,4,);
B(B_VAROUT,,wCharvalue,21,2,23,4,);
B(B_VARIN,,2,12,3,14,5,);
L(1,0,1,5);
L(1,2,3,2);
L(5,2,14,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

if (bSTart) then
	wCharvalue:=GET_CHAR(sInputString, 2);
end_if;

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