TIME_TO_STRING

TIME in STRING

La funzione TIME_TO_STRING converte un valore del tipo di dato TIME in un valore del tipo di dato STRING[20]. Conformemente a IEC-1131, la stringa risultato viene visualizzata con un breve prefisso di tempo e senza sottolineature. I valori possibili per l'intervallo della stringa risultato vanno da 'T#000d00h00m00s000ms' a 'T#248d13h13m56s470ms'.

Parametri

Ingresso

Unnamed input (TIME)
Tipo di dato di ingresso

Uscita

Unnamed output (STRING)
Risultato della conversione

Note

In caso di utilizzo del tipo di dato STRING con PLC piccoli come FP-e o FP0, assicuratevi che la lunghezza della stringa risultato sia uguale o maggiore della lunghezza della stringa di origine.

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
		input_value: TIME:=T#0s;
		result_string: STRING;

La variabile di ingresso input_value del tipo di dato TIME è inizializzata dal valore T#1h30m45s. La variabile di uscita result_string presenta il tipo di dato STRING[20]. Può memorizzare un massimo di 20 caratteri. Anziché utilizzare la variabile input_value, potete inserire una costante direttamente nel contatto di ingresso della funzione nel corpo.

Corpo del POU

input_value del tipo di dato TIME viene convertito in STRING[20]. Il valore convertito viene scritto in result_string. Quando la variabile input_value = T#1h30m45s, result_string mostra 'T#000d01h30m45s000ms'.

Corpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_F,TIME_TO_STRING!,Instance,10,1,19,3,,?D?C);
B(B_VARIN,,input_value,8,1,10,3,);
B(B_VAROUT,,result_string,19,1,21,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

result_string:=TIME_TO_STRING(input_value);

Corpo IL

Esempio

Intestazione del POU

Questo esempio illustra come creare, partendo da un valore di ingresso del tipo di dato TIME, una stringa STRING[9] che presenti il formato 'xxhxxmxxs' (solo le ore, i minuti e i secondi vengono restituiti). 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
		input_value: TIME:=T#1h30m45s;
			(*example value*)
		result_string: STRING[9]:='';
			(*result: here '01h30m45s'*)
	END_VAR

In questo esempio sono dichiarate sia una variabile di ingresso input_value del tipo di dato TIME sia una variabile di uscita result_string del tipo di dato STRING[9].

Corpo del POU

Nell'esecuzione dell'operazione in questione, la funzione standard MID viene collegata alla funzione TIME_TO_STRING. MID crea un settore centrale nella stringa di caratteri partendo dalla posizione P (valore INT) con L (valore INT) caratteri.

Nell'esempio, la costante INT 9 viene inserita all'ingresso L di MID, il quale determina la lunghezza della stringa risultato. La costante INT 7 all'ingresso P determina la posizione in cui inizia il settore centrale. Partendo dalla variabile input_value = T#1h30m45s, il valore STRING 'T#000d01h30m45s000ms' risulta dalla conversione del tipo di dato. La funzione MID tronca il valore STRING alla posizione 7 e restituisce result_string '01h30m45s'.

Corpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_F,TIME_TO_STRING!,Instance,7,2,16,4,,?D?C);
B(B_VARIN,,input_value,5,2,7,4,);
B(B_VAROUT,,result_string,24,2,26,4,);
B(B_F,MID!,Instance,19,1,24,6,,?DIN?DL?DP?C);
B(B_VARIN,,9,17,3,19,5,);
B(B_VARIN,,7,17,4,19,6,);
L(1,0,1,6);
L(16,3,19,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo IL

L'ultima revisione: 2021-06-22Feedback su questa paginaPanasonic hotline