INTEGRAL
L'istruzione INTEGRAL integra un valore real durante la durata del ciclo definito.
- Quando un blocco funzione INTEGRAL viene inizializzato per la prima volta, i valori iniziali non vengono considerati. Usare il parametro R1 per impostare i valori iniziali per il calcolo.
- Per evitare la perdita del valore integrato, il valore di integrazione non viene cancellato automaticamente quando il controllore passa daProgrammazioneaEsecuzioneo quando il parametro Run passa da FALSE a TRUE. Usare il parametro R1 per cancellare il valore dell'integrale quando il controllore per la prima volta passa dalla modalitàProgrammazionealla modalitàEsecuzioneo quando si inizia una nuova integrazione.
- Non si consiglia di usare i parametri EN o ENO facoltativi con questo blocco funzione, in quanto il calcolo della durata del ciclo sarà interrotto quando EN è FALSE, con conseguente errore di integrazione. Se si utilizzano i parametri EN o ENO, commutare il parametro R1 con EN uguale a TRUE per cancellare il risultato corrente e assicurare una corretta integrazione.
- L'integrazione viene eseguita su una base temporale in millisecondi (ovvero, integrando un input di 1 con un valore iniziale di 0 per 1 secondo il risultato sarà pari a 1000). Per convertire l’uscita dell’istruzione in secondi, il valore in uscita deve essere diviso per 1000.
- Se il valore del parametro CYCLE è inferiore all'intervallo di tempo del ciclo di esecuzione del dispositivo, il periodo di campionamento viene forzato all'intervallo di tempo del ciclo.
- L'esecuzione del campionamento XIN e del blocco funzione si verifica ad ogni durata del ciclo + Scan Time Jitter.
- Per un dato programma utente, Scan Time Jitter varia da controllore a controllore.
- La durata del ciclo determina la sensibilità del blocco funzione Integral. Le variazioni che si verificano in XIN tra due campionamenti (o all'interno della durata del ciclo) non vengono prese in considerazione quando viene calcolato il valore dell'integrale XOUT.
- La durata del ciclo e il valore di Scan Time Jitter influiscono entrambi sull'imprecisione complessiva dell'uscita Integral come mostrato nel XIN in sincronia con l'esempio di esecuzione del blocco funzione e nel XIN non in sincronia con l'esecuzione del blocco funzione.
Lingue supportate: Diagramma a blocchi funzione, Diagramma Ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, L20E, L50E e L70E.
INTEGRAL

Parametro | Tipo di parametro | Tipo di dati | Descrizione |
|---|---|---|---|
RUN | Ingresso | BOOL | Modalità:
|
R1 | Ingresso | BOOL | Ignora ripristino. |
XIN | Ingresso | REAL | Ingresso: Qualsiasi valore Real. |
X0 | Ingresso | REAL | Valore iniziale. |
CYCLE | Ingresso | TIME | Periodo di camp. I valori possibili variano da 0ms a 49d17h2m47s294ms. |
Q | Uscita | BOOL | Non R1. |
XOUT | Uscita | REAL | Uscita integrata. |
Esempi di INTEGRAL
Esempio di diagramma a blocchi funzionali INTEGRAL

Esempio di diagramma ladder INTEGRAL

Esempio di testo strutturato INTEGRAL

(* ST Equivalence: INTEGRAL1 is an instance of a INTEGRAL block *) INTEGRAL1(manual_mode, NOT(manual_mode), sensor_value, init_value, t#100ms); controlled_value := INTEGRAL1.XOUT;
Risultati

Esempio di XIN in sincronismo con l'esecuzione del blocco funzione
Le figure seguenti mostrano l'effetto di Scan Time Jitter sul valore XOUT:
Le figure seguenti mostrano l'effetto di Scan Time Jitter sul valore XOUT


Esempio di XIN non in sincronismo con l'esecuzione del blocco funzione
Le figure seguenti mostrano un esempio in cui viene introdotto un errore nel valore di XOUT per un blocco funzione Integral:
Esempio in cui viene introdotto un errore nel valore di XOUT per un blocco funzione Integral


Fornire un feedback