SEL

Seleziona valore da uno dei due canali

Con la prima variabile di ingresso (tipo di dato BOOL) di SEL definite quale variabile di ingresso vada scritta nella variabile di uscita. Se il valore booleano = 0 (FALSE), la variabile di ingresso IN0 verrà scritta nella variabile di uscita, altrimenti IN1.

Parametri

Ingresso

G (BOOL)

1° ingresso: seleziona tra il valore di ingresso IN0 o IN1

IN0 (ANY)

2° ingresso: il valore viene scritto nella variabile di uscita se G = FALSE

IN1 (ANY)

3° ingresso: il valore viene scritto nella variabile di uscita se G = TRUE

Uscita

VAR_OUT (ANY)

Valore risultato come IN0 o IN1

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
		channel_select: BOOL:=FALSE;
		channel_0: INT:=0;
		channel_1: INT:=0;
		output: INT:=0;
	END_VAR

In questo esempio sono state dichiarate le variabili di ingresso (channel_select, channel_0 e channel_1). Al loro posto potete inserire una costante direttamente nel contatto di ingresso di una funzione.

Corpo del POU

Se channel_select ha il valore 0, channel_0 verrà scritto nell'uscita, altrimenti channel_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,SEL!,Instance,15,0,20,5,,?DG?DIN0?DIN1?C);
B(B_VARIN,,channel_0,13,2,15,4,);
B(B_VARIN,,channel_1,13,3,15,5,);
B(B_VAROUT,,output,20,1,22,3,);
B(B_CONTACT,,channel_select,7,1,9,3,);
L(1,2,7,2);
L(9,2,15,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo ST

output := SEL(G := channel_select, IN0 := channel_0, IN1 := channel_1);

Corpo IL

LD

channel_select

SEL

channel_0,channel_1

ST

output

L'ultima revisione: 2021-07-05Feedback su questa paginaPanasonic hotline