BOOL_TO_STRING

BOOL in STRING

La funzione BOOL_TO_STRING converte un valore del tipo di dato BOOL in un valore del tipo di dato STRING[2]. La stringa risultante è rappresentata da ' 0' o ' 1'.

Parametri

Ingresso

Unnamed input (BOOL)
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: stringa risultato = ' 0' o ' 1'

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: BOOL:=FALSE;
		result_string: STRING;
	END_VAR

La variabile di ingresso input_value del tipo di dato BOOL è inizializzata dal valore TRUE. La variabile di uscita result_string presenta il tipo di dato STRING[2]. Può memorizzare un massimo di due caratteri. Potete dichiarare una stringa di caratteri formata da più di un carattere, p.es. STRING[5]. Dei 5 caratteri riservati, solo 2 vengono utilizzati.

Anziché utilizzare la variabile input_value, potete scrivere le costanti TRUE o FALSE direttamente nel contatto di ingresso della funzione nel corpo.

Corpo del POU

input_value del tipo di dato BOOL viene convertito in STRING[2]. Il valore convertito viene scritto in result_string. Quando la variabile input_value = TRUE, result_string mostra ' 1'.

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,BOOL_TO_STRING!,Instance,9,1,19,3,,?D?C);
B(B_VARIN,,input_value,7,1,9,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

IF Boolean_value then
    output_value:=BOOL_TO_STRING(input_value);
END_IF;

Corpo IL

Esempio: stringa risultato = 'TRUE' o 'FALSE'

Intestazione del POU

Se volete visualizzare il risultato 'TRUE' o 'FALSE' anziché ' 0' o ' 1', non potete utilizzare la funzione BOOL_TO_STRING. Questo esempio illustra come creare una STRING[5] contenente i caratteri 'TRUE' o 'FALSE' partendo da un valore di ingresso del tipo di dato BOOL. 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: BOOL:=TRUE;
			(*example value*)
		result_string: STRING[5]:='';
			(*result: here TRUE*)
		@'': @'';
		@'': @'';
	END_VAR	

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

Corpo del POU

Per realizzare l'operazione voluta viene utilizzata la funzione standard MOVE. Essa alloca il valore dell'ingresso all'uscita, lasciandolo invariato. All'ingresso viene collegata la costante STRING 'TRUE' o 'FALSE'. In sostanza si verifica una conversione "BOOL in STRING" in quanto la variabile booleana input_variable nel contatto di abilitazione in ingresso (EN) decide l'uscita di STRING.

Corpo LD

BODY
    WOKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORRKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_CONTACT,,input_value,3,1,5,3,);
B(B_F,E_MOVE!,Instanz,11,0,17,4,,?DEN?D?AENO?C);
B(B_VARIN,,'TRUE',9,2,11,4,);
B(B_VAROUT,,result_string,17,2,19,4,);
B(B_F,E_MOVE!,Instanz,11,4,17,8,N,?DEN?D?AENO?C);
B(B_VARIN,,'FALSE',9,6,11,8,);
B(B_VAROUT,,result_string,17,6,19,8,);
L(1,2,3,2);
L(5,2,11,2);
L(1,0,1,8);
L(6,2,6,6);
L(6,6,11,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo IL

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