Funzione che permette di cogliere il fronte di discesa di una condizione impostando un filtro in spazio o tempo.
Sintassi |
real fall_filt (bool cond, real varFilt, real thrFilt) |
||||||||
---|---|---|---|---|---|---|---|---|---|
cond |
Condizione da valutare per la ricerca del fronte. |
||||||||
varFilt |
Grandezza evolvente (tipicamente tempo (tfb) o spazio ip(n)). |
||||||||
thrFilt |
Quantità di varFilt in cui si deve vedere stabilmente la condizione falsa. |
||||||||
Risultato |
Rende:
|
||||||||
Validità |
Rule, Task. |
||||||||
Note |
Dalla prima volta che viene eseguita la funzione fino a che la condizione si mantiene bassa e non si supera la soglia il valore reso è 0. Superata tale soglia il valore reso è il primo valore fornito di varFilt. Nel caso si utilizzi fall_filt() in una funzione R3 utente, va evitato che i parametri della funzione stessa siano coinvolti nell' espressione di "condizione". Il risultato non sarebbe quello sperato a causa della sovrapposizione in memoria dello stato di diversi variabili. |
Fornendo come variabile di filtro ad esempio ip(n) si avrà un filtro in spazio, mentre fornendo come variabile di filtro tfb si avrà un filtro in tempo (unità secondi).
Ogni funzione di fall_filt() ha la propria memoria dello stato della "condizione". La valutazione del fronte è fatta tra lo stato attuale della condizione e la memoria relativa alla singola chiamata della funzione. (es. se abbiamo allo step 1000 if(fall_filt(inp(1), tfb, 0.5)) e allo step 1100 if(fall(inp(1), tfb, 0.5)), benché facciano riferimento alla stessa condizione, la valutazione è fatta in modo distinto, ognuna in base allo stato memorizzato eseguendo step 1000 e poi step 1100).
Esempio di utilizzo:
|