CT_FB

Ingresso conteggio indietro

I contatori realizzati con il Function Block CT_FB sono ingressi conteggio indietro. L'area di conteggio SV (valore target) va da 1 a 32767.

Parametri

Ingresso

Count (BOOL)

contatto di conteggio (indietro)

ogni qualvolta viene rilevato un fronte di salita in Count, il valore 1 viene sottratto dal valore corrente EV fino a raggiungere il valore 0

Reset (BOOL)

contatto di reset

ogni qualvolta viene rilevato un fronte di salita in Reset, il valore 0 viene allocato a EV e l'uscita di segnale C viene resettata; ogni qualvolta viene rilevato un fronte di discesa in Reset, il valore di SV viene allocato a EV

SV (INT)

Valore di impostazione

valore di EV dopo una procedura di reset

Uscita

C (BOOL)

uscita segnale

viene impostata quando EV diventa 0

EV (INT)

Valore corrente

  • valore attuale del contatore

  • Il valore può essere modificato durante l'operazione di conteggio scrivendo sulla variabile dall'editor di programmazione.

Note

  • Per poter lavorare correttamente, è necessario resettare il Function Block CT_FB prima di ogni utilizzo.

  • Il numero di contatori disponibili è limitato e dipende dalle impostazioni nei registri di sistema 5 e 6. Il compilatore alloca un indirizzo NUM* ad ogni istanza di contatore. Gli indirizzi vengono allocati contando indietro, a partire dall'indirizzo più alto possibile.

  • La funzione CT di base (ingresso conteggio indietro) utilizza la stessa area indirizzi NUM* (ingresso Num). Per evitare errori (conflitti di indirizzo), è consigliabile non utilizzare la funzione CT e il Function Block CT_FB insieme in uno stesso progetto.

Diagramma tempi

  1.  (1) download modalità PROG
  2.  (2) modalità RUN

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
		copy_name: CT_FB;
		set_value: INT:=10;
		signal_output: BOOL:=FALSE;
		count_contact: BOOL:=FALSE;
		Reset_CT: BOOL:=FALSE;
		machine_error: BOOL:=FALSE;
		number_error: INT:=0;
	END_VAR

Corpo del POU

In questo esempio vengono utilizzate variabili. Potete anche utilizzare costanti per le variabili di ingresso. Ogni qualvolta viene rilevato un fronte di salita in count_contact, il valore 1 viene sottratto dal valore corrente EV. Signal_output viene impostato su TRUE se il valore corrente EV diventa zero.

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_FB,CT_FB!,copy_name,9,1,15,6,,?BCount?BReset?BSV?AC?AEV);
B(B_VARIN,,count_contact,7,2,9,4,);
B(B_VARIN,,Reset_CT,7,3,9,5,);
B(B_VARIN,,set_value,7,4,9,6,);
B(B_VAROUT,,signal_output,15,2,17,4,);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_F,E_MOVE!,Instance,10,1,16,5,,?DEN?D?AENO?C);
B(B_VARIN,,copy_name.EV,8,3,10,5,);
B(B_VAROUT,,number_error,16,3,18,5,);
B(B_CONTACT,,machine_error,4,2,6,4,);
L(1,3,4,3);
L(6,3,10,3);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Corpo IL

Se desiderate chiamare il Function Block in una lista istruzioni, inserite quanto segue:

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