Uscita ON al raggiungimento del valore target (contatore veloce)
Se il valore corrente del contatore veloce corrisponde al valore target, un processo di interrupt commuta immediatamente l'uscita specificata su TRUE.
Ingresso
Canale contatore veloce:
FP-S: 0–3
FP-X R: 0–11
FP-X T: 0–7
FP0: 0–3
F168_PulseOutput_Trapezoidal: 0–3
F171_PulseOutput_Trapezoidal: 0–5
Specificate un valore di dato a 32 bit per il valore target che sia compreso nel seguente intervallo:
FP0, F168_PulseOutput_Trapezoidal: -838808–+8388607
FPS, FP-X, F171_PulseOutput_Trapezoidal: -2147483467–+2147483648
Uscita
Uscita che passa a TRUE quando il valore corrente corrisponde al valore target:
FP-S, FP0, F168_PulseOutput_Trapezoidal: Y0–Y7
FP-S (V3.1 o superiore), F171_PulseOutput_Trapezoidal: Y0–Y1F
FP-X: Y0–Y29F
Caratteristiche della funzione uscita ON al raggiungimento del valore target
Valore target: 10000
L'uscita del PLC passa a TRUE quando il valore corrente corrisponde al valore target. Inoltre il flag di controllo del contatore veloce passa a FALSE e l'istruzione viene disattivata.
Se viene specificata un’uscita che fisicamente non è presente, viene commutata solamente la memoria interna relativa alle WY
Il programma di interrupt viene eseguito quando il valore corrente corrisponde al valore target Ogni interrupt inserito nella lista dei Task viene automaticamente abilitato. Ad ogni numero di canale è assegnato uno speciale numero di programma di interrupt.
Tipo PLC |
FP0, FP-e |
FPS, FP0H |
FP-X (Tipi a relè), FP-XH |
FP-X (Tipi a transistor) |
FP0R |
---|---|---|---|---|---|
Interrupt0 |
Canale0 |
Canale0 |
Canale0 |
Canale0 |
Canale0 |
Interrupt1 |
Canale1 |
Canale1 |
Canale1 |
Canale1 |
Canale1 |
Interrupt2 |
Canale2 |
Canale2 |
|||
Interrupt3 |
Canale2 |
Canale2 |
Canale3 |
Canale3 |
Canale2 |
Interrupt4 |
Canale3 |
Canale3 |
Canale4 |
Canale4 |
Canale3 |
Interrupt5 |
Canale5 |
Canale5 |
|||
Interrupt6 |
Canale6 |
Canale6 |
Canale4 |
||
Interrupt7 |
Canale7 |
Canale7 |
Canale5 |
||
Interrupt8 |
Canale8 |
||||
Interrupt9 |
Canale9 |
||||
Interrupt10 |
|||||
Interrupt11 |
CanaleA |
||||
Interrupt12 |
CanaleB |
Selezionate l'ingresso del contatore veloce per il canale desiderato nei registri di sistema.
FP-X, FP0R: Quando viene eseguita un'istruzione contatore veloce, il flag di controllo del contatore veloce (p.es. sys_bIsHscChannel0ControlActive) per il canale utilizzato passa a TRUE. Finché il flag di controllo è TRUE, non è possibile eseguire nessun'altra istruzione contatore veloce utilizzando lo stesso canale.
FP0, FP-e, FPS: Il flag di controllo del contatore veloce (p.es. sys_bIsHscChannel0ControlActive) e il flag di controllo dell’uscita ad impulsi (p.es. sys_bIsPulseChannel0Active) vengono allocati allo stesso numero di flag interno speciale (p.es. R903A). Pertanto, quando viene eseguita un'istruzione contatore veloce o un'istruzione uscita ad impulsi, il flag di controllo del contatore veloce (p.es. sys_bIsHscChannel0ControlActive) e il flag di controllo dell'uscita ad impulsi (p.es. sys_bIsPulseChannel0Active) per il canale utilizzato sono TRUE. Finché questo flag è TRUE non può essere eseguita nessun’altra istruzione contatore veloce o istruzione uscita ad impulsi.
Se sia il programma principale sia il programma di interrupt contengono un codice per lo stesso canale, essi non devono poter esser eseguiti contemporaneamente.
Per commutare su FALSE un’uscita del PLC che è stata commutata su TRUE da questa istruzione, usare un’istruzione RST o MOVE.
L'esecuzione delle istruzioni di uscita ad impulsi si interrompe mettendo il bit 3 del registro dati nel quale è memorizzato il codice di controllo per il contatore veloce (sys_wHscOrPulseControlCode) su TRUE. Allora il flag di controllo del contatore veloce passa a FALSE. Per riabilitare l'esecuzione dell'istruzione del contatore veloce, riportare il bit 3 a FALSE.
Lo stato del flag di controllo del contatore veloce o del flag di controllo dell'uscita ad impulsi può variare durante lo svolgimento di una scansione. For example, if the number of received bytes is read more than once different statuses may exist within one scan.
Nella lista variabili globali si definiscono variabili alle quali possono accedere tutti i POU del progetto.
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_EXTERNAL
out_0: BOOL:=FALSE;
(*output Y0 of PLC*)
END_VAR
VAR
start: BOOL:=FALSE;
(*start condition*)
END_VAR
Quando la variabile start è impostata su TRUE, la funzione viene eseguita.
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,F166_HighSpeedCounter_Set!,Instance,12,0,26,5,,?DEN?Hn_diHscChannel?Ds_diTargetValue?AENO?Cd_Y);
B(B_VARIN,,0,10,2,12,4,);
B(B_VARIN,,10,10,3,12,5,);
B(B_VAROUT,,out_0,26,2,28,4,);
B(B_CONTACT,,start,5,1,7,3,R);
L(1,2,5,2);
L(7,2,12,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF DF(start) then
F166_HighSpeedCounter_Set(n_diHscChannel := 0,
s_diTargetValue := 10,
d_Y => out_0);
END_IF;