Elembste
Elembste
___________________
Blocchi di regolazione 16
___________________
Blocchi per le funzioni di
sistema 17
___________________
Blocchi per i collegamenti
validi per più AS 18
___________________
Famiglia di blocchi
"@SYSTEM" 19
___________________
Appendice 20
04/2014
A5E34748369-AA
Avvertenze di legge
Concetto di segnaletica di avvertimento
Questo manuale contiene delle norme di sicurezza che devono essere rispettate per salvaguardare l'incolumità
personale e per evitare danni materiali. Le indicazioni da rispettare per garantire la sicurezza personale sono
evidenziate da un simbolo a forma di triangolo mentre quelle per evitare danni materiali non sono precedute dal
triangolo. Gli avvisi di pericolo sono rappresentati come segue e segnalano in ordine descrescente i diversi livelli
di rischio.
PERICOLO
questo simbolo indica che la mancata osservanza delle opportune misure di sicurezza provoca la morte o gravi
lesioni fisiche.
AVVERTENZA
il simbolo indica che la mancata osservanza delle relative misure di sicurezza può causare la morte o gravi
lesioni fisiche.
CAUTELA
indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non gravi.
ATTENZIONE
indica che la mancata osservanza delle relative misure di sicurezza può causare danni materiali.
Nel caso in cui ci siano più livelli di rischio l'avviso di pericolo segnala sempre quello più elevato. Se in un avviso
di pericolo si richiama l'attenzione con il triangolo sul rischio di lesioni alle persone, può anche essere
contemporaneamente segnalato il rischio di possibili danni materiali.
Personale qualificato
Il prodotto/sistema oggetto di questa documentazione può essere adoperato solo da personale qualificato per il
rispettivo compito assegnato nel rispetto della documentazione relativa al compito, specialmente delle avvertenze
di sicurezza e delle precauzioni in essa contenute. Il personale qualificato, in virtù della sua formazione ed
esperienza, è in grado di riconoscere i rischi legati all'impiego di questi prodotti/sistemi e di evitare possibili
pericoli.
Uso conforme alle prescrizioni di prodotti Siemens
Si prega di tener presente quanto segue:
AVVERTENZA
I prodotti Siemens devono essere utilizzati solo per i casi d’impiego previsti nel catalogo e nella rispettiva
documentazione tecnica. Qualora vengano impiegati prodotti o componenti di terzi, questi devono essere
consigliati oppure approvati da Siemens. Il funzionamento corretto e sicuro dei prodotti presuppone un trasporto,
un magazzinaggio, un’installazione, un montaggio, una messa in servizio, un utilizzo e una manutenzione
appropriati e a regola d’arte. Devono essere rispettate le condizioni ambientali consentite. Devono essere
osservate le avvertenze contenute nella rispettiva documentazione.
Marchio di prodotto
Tutti i nomi di prodotto contrassegnati con ® sono marchi registrati della Siemens AG. Gli altri nomi di prodotto
citati in questo manuale possono essere dei marchi il cui utilizzo da parte di terzi per i propri scopi può violare i
diritti dei proprietari.
Esclusione di responsabilità
Abbiamo controllato che il contenuto di questa documentazione corrisponda all'hardware e al software descritti.
Non potendo comunque escludere eventuali differenze, non possiamo garantire una concordanza perfetta. Il
contenuto di questa documentazione viene tuttavia verificato periodicamente e le eventuali correzioni o modifiche
vengono inserite nelle successive edizioni.
ENO
ENO: corrisponde a BIE (risultato binario, vedere la descrizione di STEP 7).
ENO = 1 mostra un risultato valido corrispondente alla funzione. Al verificarsi di errori che
vengono riconosciuti nel programma di blocco dal sistema operativo e/o dal trattamento degli
errori, viene visualizzato da ENO = 0 un risultato non valido. È possibile utilizzare
quest'informazione per commutare su altri valori (p. es. valori di sicurezza) ed eventualmente
visualizzare messaggi nella stazione operatore.
ENO viene impostato su FALSE anche nel caso in cui EN = FALSE
SAMPLE_T
Tutti i blocchi con il parametro di ingresso SAMPLE_T devono essere elaborati in task
equidistanti [Link]. OB 35. Allarme di schedulazione orologio 100 ms. Se vengono inseriti in
task non ciclici, p es. interrupt di processo, questi blocchi forniscono risultati errati.
Famiglia Utilizzo
BIT-LGC (Pagina 15) Blocchi logici del tipo di dati BOOL.
WRD_LGC (Pagina 23) Blocchi logici del tipo di dati WORD e DWORD
COMPARE (Pagina 37) Blocchi per il confronto di due valori di ingresso
dello stesso tipo
CONVERT (Pagina 43) Blocchi per la conversione di diversi tipi di dati
MATH_FP (Pagina 69) Blocchi aritmetici del tipo di dati REAL
MATH_INT (Pagina 95) Blocchi aritmetici del tipo di dati INT e DINT
FLIPFLOP (Pagina 121) Blocchi flip-flop
SHIFT (Pagina 125) Blocchi shift
MULTIPLX (Pagina 135) Blocchi multiplex
COUNTER (Pagina 143) Blocchi contatori
IMPULS (Pagina 149) Blocchi per la generazione o l'elaborazione di
impulsi
TIME (Pagina 157) Blocchi per la rilevazione o l’elaborazione di
momenti e intervalli
CONTROL (Pagina 161) Blocchi di controllo
EVENT: Avvio del livello di esecuzione Blocchi per le funzioni di sistema
(Pagina 185)
Blocchi per i collegamenti validi per più AS Blocchi per i collegamenti validi per più AS
(Pagina 195)
Per maggiori informazioni sui blocchi ALARM_8P, BSEND e BRCV consultare la Guida
PCS 7 Standard Library.
Nota
A prescindere dai valori degli ingressi, il valore iniziale sull'uscita dei blocchi CFC è "1". Ciò
sta ad indicare che alla logica successiva viene assegnato il valore "1" finché non viene
elaborato il blocco.
Funzione
Questo blocco combina gli ingressi in un circuito logico AND. L'uscita è 1 se tutti gli ingressi
sono 1, altrimenti l’uscita è 0. Il numero di ingressi IN può essere modificato.
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico OR. L'uscita è 1 quando almeno un
ingresso è 1. Se tutti gli ingressi hanno il valore 0, l'uscita è 0. È possibile modificare il
numero degli ingressi IN.
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito OR esclusivo. L'uscita è 0 quando tutti gli
ingressi hanno lo stesso valore, altrimenti l’uscita è 1. Il numero di ingressi IN può essere
modificato.
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico AND e realizza in seguito il segnale
opposto. L'uscita sarà 0 solo quando tutti gli ingressi sono 1. Il numero di ingressi IN può
essere modificato.
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico OR e realizza in seguito il segnale
opposto. L'uscita sarà 1 solo quando tutti gli ingressi sono 0. Il numero di ingressi IN può
essere modificato.
Connessioni
Funzione
Questo blocco inverte il segnale di ingresso.
Tabella di verità
IN OUT
0 1
1 0
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico AND a parola. I bit equivalenti di tutti
gli ingressi vengono combinati con la funzione logica AND e il risultato viene scritto nel
rispettivo bit dell'uscita. Il numero di ingressi IN può essere modificato.
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico OR a parola. I bit equivalenti di tutti
gli ingressi vengono combinati con la funzione logica OR e il risultato viene scritto nel
rispettivo bit dell'uscita. Il numero di ingressi IN può essere modificato.
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico XOR a parola. I bit equivalenti di tutti
gli ingressi vengono combinati con la funzione logica OR e il risultato viene scritto nel
rispettivo bit dell'uscita. Il bit è 0 se i bit equivalenti di tutti gli ingressi hanno lo stesso valore,
In caso contrario il bit è 1. È possibile modificare il numero degli ingressi IN
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico NAND a parola. I bit equivalenti di
tutti gli ingressi vengono combinati secondo la funzione logica AND e il risultato viene scritto
nel rispettivo bit dell'uscita. Il numero di ingressi IN può essere modificato.
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico NOR a parola. I bit equivalenti di tutti
gli ingressi vengono combinati secondo la funzione logica OR e il risultato viene scritto nel
rispettivo bit dell'uscita. Il numero di ingressi IN può essere modificato.
Connessioni
Funzione
Questo blocco inverte l'ingresso a parola. Ogni bit dell'ingresso viene negato e scritto nel bit
equivalente dell'uscita.
Esempio
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico AND a doppia parola. I bit equivalenti
di tutti gli ingressi vengono combinati con la funzione logica AND e il risultato viene scritto
nel rispettivo bit dell'uscita. Il numero di ingressi IN può essere modificato.
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico OR a doppia parola. I bit equivalenti
di tutti gli ingressi vengono combinati con la funzione logica OR e il risultato viene scritto nel
rispettivo bit dell'uscita. Il numero di ingressi IN può essere modificato.
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico XOR a doppia parola. I bit equivalenti
di tutti gli ingressi vengono combinati con la funzione logica XOR e il risultato viene scritto
nel rispettivo bit dell'uscita. Il bit è 0 se i bit equivalenti di tutti gli ingressi hanno lo stesso
valore, In caso contrario il bit è 1. È possibile modificare il numero degli ingressi IN
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico NAND a doppia parola. I bit
equivalenti di tutti gli ingressi vengono combinati secondo la funzione logica AND e il
risultato viene scritto nel rispettivo bit dell'uscita. Il numero di ingressi IN può essere
modificato.
Connessioni
Funzione
Questo blocco combina gli ingressi in un circuito logico NOR a doppia parola. I bit
equivalenti di tutti gli ingressi vengono combinati secondo la funzione logica OR e il risultato
viene scritto nel rispettivo bit dell'uscita. Il numero di ingressi IN può essere modificato.
Connessioni
Funzione
Questo blocco inverte l'ingresso a parola. Ogni bit dell'ingresso viene negato e scritto nel bit
equivalente dell'uscita.
Connessioni
CMP_I: Comparatore per valori INT (Pagina 38) Comparatore per valori INT
CMP_DI: Comparatore per valori DINT Comparatore per valori DINT
(Pagina 39)
CMP_R: Comparatore per valori REAL Comparatore per valori REAL
(Pagina 40)
CMP_T: Comparatore per valori TIME Comparatore per valori TIME
(Pagina 41)
Funzione
Questo blocco confronta due valori di ingresso e imposta le uscite nel seguente modo:
GT = 1 se IN1 > IN2,
GE = 1 se IN1 ≥ IN2,
EQ = 1 se IN1 = IN2
LE = 1 se IN1 ≤ IN2
LT = 1 se IN1 < IN2
Connessioni
Funzione
Questo blocco confronta due valori di ingresso e imposta le uscite nel seguente modo:
GT = 1 se IN1 > IN2,
GE = 1 se IN1 ≥ IN2
EQ = 1 se IN1 = IN2
LE = 1 se IN1 ≤ IN2
LT = 1 se IN1 < IN2
Connessioni
Funzione
Questo blocco confronta due valori di ingresso e imposta le uscite nel seguente modo:
GT = 1 se IN1 > IN2,
GE = 1 se IN1 ≥ IN2
EQ = 1 se IN1 = IN2
LT = 1 se IN1 < IN2
LE = 1 se IN1 ≤ IN2
In ognuno di questi casi le altre quattro uscite vengono impostate a 0.
Connessioni
Funzione
Questo blocco confronta due valori di ingresso e imposta le uscite nel seguente modo:
GT = 1 se IN1 > IN2,
GE = 1 se IN1 ≥ IN2
EQ = 1 se IN1 = IN2
LE = 1 se IN1 ≤ IN2
LT = 1 se IN1 < IN2
Connessioni
Introduzione
In CFC è possibile collegare uscite di blocchi (tipo sorgente) con ingressi di blocchi (tipo
destinazione), solo se entrambi i tipi di dati sono identici (ad es. Uscita REAL con ingresso
REAL). Per interconnettere tipi di dati diversi, è necessario impiegare dei blocchi di
conversione. Questi possiedono ingressi ed uscite di tipo differente e convertono il valore di
ingresso nel tipo di dati dell’uscita.
Regole di conversione
Il nome di tipo dei blocchi di conversione è composto dalle abbreviazioni di entrambi i tipi di
dati (tipo dati sorgente e tipo dati destinazione) collegati con "_".
Nella seguente tabella vengono brevemente descritte le regole di conversione dei singoli
blocchi. Se il valore di ingresso IN non si trova nel campo consentito, il valore di uscita OUT
perde validità e viene visualizzato sull'uscita di controllo ENO = 0.
È possibile analizzare ENO, per utilizzare, ad es., un valore sostitutivo/di sicurezza
nell’ulteriore elaborazione.
Nel gruppo CONVERT sono riuniti i blocchi che convertono i valori n di un tipo in valori m di
un altro tipo (m e n possono anche avere lo stesso valore).
I seguenti blocchi effettuano la conversione di un valore di un tipo di dati in un valore di un
altro tipo di dati:
I seguenti blocchi effettuano la conversione di più valori di tipo BOOL in un valore di tipo
BYTE, WORD oppure DWORD:
7.2 BY_DW
Funzione
Il byte di IN viene copiato sul byte inferiore di OUT, i byte superiori vengono impostati a 0.
Connessioni
7.3 BY_W
Funzione
Il byte di IN viene copiato sul byte inferiore di OUT, i byte superiori vengono impostati a 0.
Connessioni
7.4 DI_DW
Funzione
La stringa di bit di IN viene copiata verso OUT.
Connessioni
7.5 DI_I
Funzione
La stringa di bit di IN viene interpretata come INT e copiata verso OUT.
Connessioni
7.6 DI_R
Funzione
Il valore di IN viene convertito in un numero REAL e copiato verso OUT.
Connessioni
7.7 DW_DI
Funzione
La stringa di bit di IN viene copiata verso OUT.
Connessioni
7.8 DW_R
Modo operativo
Il blocco inoltra soltanto la stringa del bit e non esegue alcuna conversione del valore. Per
eseguire la conversione del valore in REAL, è necessario l'impiego del blocco DW_DI e
successivamente del blocco DI_R.
Funzione
La stringa di bit di IN viene copiata verso OUT.
Connessioni
7.9 DW_W
Funzione
La parola bassa di IN viene copiata verso la parola di OUT.
Connessioni
7.10 I_DI
Funzione
Il valore di IN viene copiato verso OUT.
Connessioni
7.11 I_DW
Funzione
La stringa di bit di IN viene copiata verso la parola bassa di OUT, la parola alta viene
impostata a 0.
Connessioni
7.12 I_R
Funzione
Il numero intero di IN viene convertito verso OUT.
Connessioni
7.13 I_W
Funzione
La stringa di bit di IN viene copiata verso OUT.
Connessioni
7.14 R_DI
Funzione
Il numero REAL di IN viene convertito verso OUT.
Connessioni
7.15 R_DW
Modo operativo
Il blocco inoltra soltanto la stringa del bit e non esegue alcuna conversione del valore. Per
ottenere una conversione del valore in DW, è necessario impiegare il blocco R_TO_DW
(PCS 7 Library)
Funzione
La stringa di bit di IN viene copiata verso OUT.
Connessioni
7.16 R_I
Funzione
Il numero REAL nell'ingresso IN viene convertito in un numero INT ed emesso nell'uscita
OUT. Vengono effettuati i seguenti arrotondamenti: 0,5 → 0, 1,5 → 2, 2,5 → 2, 3,5 → 4, ecc.
Connessioni
7.17 W_BY
Funzione
Il byte inferiore di IN viene copiato verso OUT.
Connessioni
7.18 W_DW
Funzione
La parola di IN viene copiata nella parola bassa di OUT.
Connessioni
7.19 W_I
Funzione
La stringa di bit di IN viene copiata verso OUT.
Connessioni
7.20 BO_BY
Funzione
Questo blocco converte gli 8 valori di ingresso del tipo BOOL in un valore del tipo BYTE che
viene emesso all'uscita. La conversione 8 BOOL -> 1 BYTE avviene nel seguente modo:
L'e-simo bit del valore BYTE viene impostato a 0 (oppure 1), se l'e-simo valore di ingresso è
uguale a 0 ( oppure a 1). (i = 0..7).
Connessioni
7.21 BO_W
Funzione
Questo blocco converte i 16 valori di ingresso del tipo BOOL in un valore del tipo WORD che
viene emesso all'uscita. La conversione 16 BOOL -> 1 WORD avviene nel seguente modo:
L'e-simo bit del valore WORD viene impostato a 0 (oppure 1), se l'e-simo valore di ingresso
è uguale a 0 ( oppure a 1) (i = 0..15).
Connessioni
7.22 BO_DW
Funzione
Questo blocco converte i 32 valori di ingresso del tipo BOOL in un valore del tipo DWORD
che viene emesso all'uscita. La conversione 32 BOOL -> 1 DWORD avviene nel seguente
modo:
L'e-simo bit del valore DWORD viene impostato a 0 (oppure 1), se l'e-simo valore di
ingresso è uguale a 0 ( oppure a 1) (i = 0..31).
Connessioni
7.23 BY_BO
Funzione
Questo blocco converte il valore di ingresso del tipo BYTE in 8 valori del tipo BOOL che
vengono impostati nelle 8 uscite. In questo caso il bit 0 di IN viene convertito in OUT0, il bit 1
IN in OUT1 ecc.
Connessioni
7.24 W_BO
Funzione
Questo blocco converte il valore di ingresso del tipo di dati WORD in 16 valori di tipo BOOL
creati sulle 16 uscite. In questo modo IN-Bit0 viene convertito in OUT0, IN-Bit1 in OUT1 etc.
Connessioni
7.25 DW_BO
Funzione
Questo blocco converte il valore di ingresso del tipo di dati DWORD in 32 valori di tipo BOOL
creati sulle 32 uscite. In questo modo IN-Bit0 viene convertito in OUT0, IN-Bit1 in OUT1 etc.
Connessioni
Nota
Il campo valori dei numeri reali è:
-3,40282e^+38 ... -1,755e^-38 ... 0 ... 1,755e^-38 ... 3,40282e^+38
Funzione
Questo blocco effettua la somma degli ingressi e fornisce il risultato in uscita.
OUT = IN1 + IN2
Connessioni
Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 - IN2
Connessioni
Funzione
Questo blocco moltiplica gli ingressi e fornisce il prodotto in uscita.
OUT = IN1 * IN2
Connessioni
Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 / IN2
Connessioni
Funzione
Questo blocco confronta gli ingressi e fornisce il loro valore massimo in uscita.
OUT = MAX {IN1, ... , INn}
Blocchi
Nome Commento
MAX2_R 2 ingressi del tipo REAL
MAX4_R 4 ingressi del tipo REAL
MAX8_R 8 ingressi del tipo REAL
Connessioni
Funzione
Questo blocco confronta gli ingressi e fornisce il loro valore minimo in uscita.
OUT = MIN {IN1, ... , INn}
Blocchi
Nome Commento
MIN2_R 2 ingressi del tipo REAL
MIN4_R 4 ingressi del tipo REAL
MIN8_R 8 ingressi del tipo REAL
Connessioni
Funzione
Questo blocco fornisce in uscita il valore assoluto dell'ingresso.
OUT = | IN |
Connessioni
Funzione
Questo blocco calcola la radice quadrata dell'ingresso e fornisce il risultato in uscita.
OUT = SQRT(IN)
Connessioni
Funzione
Questo blocco calcola la funzione esponenziale dell'ingresso e fornisce il risultato in uscita. e
è il numero di Eulero equivalente a 2,71... e la base del logaritmo naturale.
OUT = e^IN
Connessioni
Funzione
Questo blocco calcola la funzione di potenza 10IN dell'ingresso ed emette il risultato
sull'uscita.
OUT = 10^IN
Connessioni
Funzione
Questo blocco calcola il logaritmo naturale dell'ingresso e fornisce il risultato in uscita.
OUT = LN (IN)
L'ingresso IN deve essere positivo.
Connessioni
Funzione
Questo blocco calcola il logaritmo a base 10 dall'ingresso e fornisce il risultato in uscita.
OUT = LOG10(IN)
L'ingresso IN deve essere positivo.
Connessioni
Funzione
Questo blocco calcola la funzione sinusoidale dell'ingresso e fornisce il risultato in uscita. IN
deve essere indicato in radianti.
OUT = SIN(IN)
Connessioni
Funzione
Questo blocco calcola la funzione trigonometrica coseno dell'ingresso e fornisce il risultato in
uscita. IN deve essere indicato in radianti.
OUT = COS(IN)
Connessioni
Funzione
Questo blocco calcola la funzione tangente dell'ingresso e fornisce il risultato in uscita. IN
deve essere indicato in radianti.
OUT = TAN(IN)
Connessioni
Funzione
Questo blocco calcola l'arcoseno dell'ingresso e fornisce il risultato in uscita. Il risultato viene
specificato in radianti e ha un valore compreso tra -π/2 e +π/2. L'argomento della funzione
deve essere compreso tra 1 e +1.
OUT = ASIN(IN)
Connessioni
Funzione
Questo blocco calcola l'arcocoseno dell'ingresso e fornisce il risultato in uscita. Il risultato
viene specificato in radianti e ha un valore compreso tra 0 e π. L'argomento della funzione
deve essere compreso tra -1 e +1.
OUT = ACOS(IN)
Connessioni
Funzione
Questo blocco calcola l'arcotangente dell'ingresso e fornisce il risultato in uscita. Il risultato
viene specificato in radianti e ha un valore compreso tra -π/2 e +π/2. L'argomento può
assumere un valore compreso entro l'intero campo dei numeri REAL.
OUT = ATAN(IN)
Connessioni
Funzione
Questo blocco fornisce in uscita il valore di ingresso con segno commutato.
Connessioni
Funzione
Questo blocco esegue il confronto tra le grandezze di ingresso IN, MAX e MIN volto ad
appurare se IN si trova all'interno o all'esterno dell'intervallo limitato da MIN e MAX. Se il
limite inferiore MIN dell'intervallo è maggiore rispetto al limite superiore MAX, l'uscita OUT =
MAX e le uscite OUTU e OUTL vengono impostate a 1. Se IN > MAX il valore limite è stato
superato verso l'alto, OUT = MAX, OUTU = 1 e OUTL = 0. Se IN < MIN, il valore limite è
stato superato verso il basso, OUT = MIN, OUTU = 0, OUTL = 1. Se IN si trova tra MIN e
MAX, vengono impostati i parametri OUT = IN, OUTU = 0, OUTL = 0.
Se il limite inferiore MIN è uguale al limite superiore MAX il blocco si comporta come segue:
IN < MAX: OUT = MAX; OUTU = 0; OUTL = 1
IN > MAX: OUT = MAX; OUTU = 1; OUTL = 0
Connessioni
Funzione
Questo blocco confronta i valori assoluti degli ingressi. Se il valore assoluto dell'ingresso IN
è minore del limite INTERVAL, l'uscita QA verrà impostata a 1 e l'uscita QN a 0. Ciò significa
che il valore di ingresso IN è incluso nell'intervallo. Altrimenti l’uscita QA verrà impostata a 0
e l’uscita QN a 1. In questo caso il valore di ingresso IN è al di fuori dell’intervallo.
Connessioni
Funzione
Questo blocco somma il valore di ingresso IN al valore di uscita OUT nel caso in cui
l'ingresso CI è a 1 e gli ingressi RI e SI sono a 0. Se RI = 1 l'uscita OUT sarà 0. Se SI = 1 e
RI = 0 allora OUT = IN.
Tabella di verità
RI SI CI OUT ENO
1 X X 0 1
0 1 X IN 1
0 0 1 OUT* + IN 1
0 0 0 OUT* 1
X è un valore qualsiasi
OUT* è il valore precedente dell'ultimo ciclo
Connessioni
Funzione
Questo blocco emette sull'uscita la grandezza di ingresso IN1 elevata alla potenza della
grandezza di ingresso IN2.
OUT = IN1^IN2
Presupposti: IN1 > 0
Connessioni
Funzione
Questo blocco fornisce in uscita il valore medio degli ultimi N valori di ingresso.
OUT = (Ink + Ink -1 + ... + Ink -n + 1) / N
dove Ink è il valore di ingresso attuale. Il numero N dei valori di ingresso deve soddisfare la
condizione
0 < N < 33
.
Comportamento all’avvio
All’avviamento e al primo avvio, ogni elemento del buffer per i valori IN e OUT viene
impostato a 0.
Connessioni
Nota
I campi di valore dei tipi di dati INT e DINT sono
INT: -32 768 ... 32 767
DINT: -2 147 483 648 ... 2 147 483 647
Funzione
Questo blocco effettua la somma degli ingressi e fornisce il risultato in uscita.
OUT = IN1 + IN2
Connessioni
Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 - IN2
Connessioni
Funzione
Questo blocco moltiplica gli ingressi e fornisce il prodotto in uscita.
OUT = IN1 * IN2
Connessioni
Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 / IN2
Connessioni
Funzione
Questo blocco fornisce in uscita il resto della divisione di numeri interi DIV_I (Pagina 100)
dell'ingresso IN1 diviso per l'ingresso IN2.
Connessioni
Funzione
Questo blocco confronta gli ingressi e fornisce il loro valore massimo in uscita.
OUT = MAX {IN1, ... , INn}
Blocchi
Nome Commento
MAX2_I 2 ingressi del tipo INT
MAX4_I 4 ingressi del tipo INT
MAX8_I 8 ingressi del tipo INT
Connessioni
Funzione
Questo blocco confronta gli ingressi e fornisce il loro valore minimo in uscita.
OUT = MIN {IN1, ... , INn}
Blocchi
Nome Commento
MIN2_I 2 ingressi del tipo INT
MIN4_I 4 ingressi del tipo INT
MIN8_I 8 ingressi del tipo INT
Connessioni
Funzione
Questo blocco fornisce in uscita la grandezza assoluta dell'ingresso.
OUT = | IN |
Connessioni
Funzione
Questo blocco fornisce in uscita il valore di ingresso con segno commutato.
Connessioni
Funzione
Questo blocco confronta i valori di ingresso IN, MAX e MIN per verificare se IN si trova
all'interno o all'esterno dell'intervallo definito da MIN e MAX.
Se il limite inferiore MIN dell'intervallo supera il limite superiore MAX, l'uscita OUT = MAX e
le uscite OUTU e OUTL vengono impostate a 1.
Se IN ≥ MAX, si è verificato un superamento del limite superiore, OUT = MAX, OUTU = 1 e
OUTL = 0. Se IN ≤ MIN, si è verificato un superamento del limite inferiore, OUT = MIN,
OUTU = 0, OUTL = 1. Se IN è compreso tra MIN e MAX, vengono impostati OUT = IN,
OUTU = 0, OUTL = 0.
Se MAX = MIN le uscite OUTU e OUTL dipendono da IN:
● OUTU = 1 se IN = MIN = MAX
● OUTL = 1 se IN < MIN = MAX
● OUTU = 1 se IN > Max = MAX
● inoltre vale: OUT = MAX = MIN
Connessioni
Funzione
Questo blocco confronta la grandezza assoluta dell'ingresso IN con il valore dell'ingresso
INTERVAL. Se il valore assoluto dell'ingresso IN è minore del limite INTERVAL, l'uscita QA
verrà impostata a 1 e l'uscita QN a 0. Ciò significa che il valore di ingresso IN è compreso
nell'intervallo. Altrimenti l’uscita QA verrà impostata a 0 e l’uscita QN a 1. In questo caso il
valore di ingresso IN è al di fuori dell’intervallo.
INTERVAL deve avere un valore positivo.
Se INTERVAL ≤ 0, QA = 0.
Connessioni
Funzione
Questo blocco addiziona la grandezza di ingresso IN alla grandezza di uscita OUT, se
l'ingresso CI è impostato su 1 e gli ingressi RI e SI sono impostati su 0. Se RI = 1, l'uscita
OUT viene impostata su 0. Se SI = 1 e RI = 0, l'uscita OUT = IN.
RI SI CI OUT ENO
1 X X 0 1
0 1 X IN 1
0 0 1 OUT* + IN 1
0 0 0 OUT* 1
X è un valore qualsiasi
OUT* è il valore precedente dell'ultimo ciclo
Connessioni
Funzione
Questo blocco effettua la somma degli ingressi e fornisce il risultato in uscita.
OUT = IN1 + IN2
Connessioni
Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 - IN2
Connessioni
Funzione
Questo blocco moltiplica gli ingressi e fornisce il prodotto in uscita.
OUT = IN1 * IN2
Connessioni
Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 / IN2
Connessioni
Funzione
Questo blocco fornisce in uscita il resto della divisione di numero intero DIV_DI (Pagina 112)
dell'ingresso IN1 diviso per l'ingresso IN2.
Connessioni
Funzione
Questo blocco confronta gli ingressi e fornisce il loro valore massimo in uscita.
OUT = MAX {IN1, ... , INn}
Blocchi
Nome Commento
MAX2_DI 2 ingressi del tipo DINT
MAX4_DI 4 ingressi del tipo DINT
MAX8_DI 8 ingressi del tipo DINT
Connessioni
Funzione
Questo blocco confronta gli ingressi e fornisce il loro valore minimo in uscita.
OUT = MIN {IN1, ... , INn}
Blocchi
Nome Commento
MIN2_DI 2 ingressi del tipo DINT
MIN4_DI 4 ingressi del tipo DINT
MIN8_DI 8 ingressi del tipo DINT
Connessioni
Funzione
Questo blocco fornisce in uscita il valore assoluto dell'ingresso.
OUT = | IN |
Connessioni
Funzione
Questo blocco fornisce in uscita il valore di ingresso con segno commutato.
Connessioni
Funzione
Questo blocco confronta i valori di ingresso IN, MAX e MIN per verificare se IN si trova
all'interno o all'esterno dell'intervallo definito da MIN e MAX.
Se il limite inferiore MIN dell'intervallo supera il limite superiore MAX, l'uscita OUT = MAX e
le uscite OUTU e OUTL vengono impostate a 1.
Se IN ≥ MAX, si è verificato un superamento del limite superiore, OUT = MAX, OUTU = 1 e
OUTL = 0. Se IN ≤ MIN, si è verificato un superamento del limite inferiore, OUT = MIN,
OUTU = 0, OUTL = 1. Se IN è compreso tra MIN e MAX, vengono impostati OUT = IN,
OUTU = 0, OUTL = 0.
Se MAX = MIN le uscite OUTU e OUTL dipendono da IN:
● OUTU = 1 se IN = MIN = MAX
● OUTL = 1 se IN < MIN = MAX
● OUTU = 1 se IN > Max = MAX
● inoltre vale: OUT = MAX = MIN
Connessioni
Funzione
Questo blocco confronta la grandezza assoluta dell'ingresso IN con il valore dell'ingresso
INTERVAL. Se la grandezza assoluta dell'ingresso IN è inferiore al limite INTERVAL, l'uscita
QA viene impostata su 1 e l'uscita QN viene impostata su 0. Ciò significa che il valore di
ingresso IN è compreso nell'intervallo. Altrimenti l'uscita QA verrà impostata a 0 e l'uscita QN
a 1. In questo caso il valore di ingresso IN è al di fuori dell’intervallo.
INTERVAL deve avere un valore positivo.
Se INTERVAL ≤ 0, QA = 0.
Connessioni
Funzione
Questo blocco addiziona la grandezza di ingresso IN alla grandezza di uscita OUT, se
l'ingresso CI è impostato su 1 e gli ingressi RI e SI sono impostati su 0. Se RI = 1, l'uscita
OUT viene impostata su 0. Se SI = 1 e RI = 0, l'uscita OUT = IN.
RI SI CI OUT ENO
1 X X 0 1
0 1 X IN 1
0 0 1 OUT* + IN 1
0 0 0 OUT* 1
X è un valore qualsiasi
OUT* è il valore precedente dell'ultimo ciclo
Connessioni
Funzione
J K
0 0
0 1 0 1
1 0 1 0
1 1
*)
*) le uscite cambiano il valore con la stessa frequenza dei livelli di esecuzione impostati
Connessioni
Funzione
R S
0 0
0 1 1 0
1 0 0 1
1 1 0 1
Connessioni
Funzione
R S
0 0
0 1 1 0
1 0 0 1
1 1 1 0
Connessioni
Funzione
Il valore di ingresso IN viene fatto scorrere bit per bit verso sinistra di tante posizioni quante
sono quelle indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni
Funzione
Il valore di ingresso IN viene fatto scorrere bit per bit verso sinistra di tante posizioni quante
sono quelle indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni
Funzione
Il valore di ingresso IN viene fatto scorrere bit per bit verso destra di tante posizioni quanto
sono indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni
Funzione
Il valore di ingresso IN viene fatto scorrere bit per bit verso destra di tante posizioni quanto
sono indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni
Funzione
Il valore di ingresso IN viene fatto ruotare bit per bit verso sinistra di tante posizioni quante
sono quelle indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni
Funzione
Il valore di ingresso IN viene fatto ruotare bit per bit verso sinistra di tante posizioni quante
sono quelle indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni
Funzione
Il valore di ingresso IN viene fatto ruotare bit per bit verso destra di tante posizioni quante
sono quelle indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni
Funzione
Il valore di ingresso IN viene fatto ruotare bit per bit verso destra di tante posizioni quante
sono quelle indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni
Funzione
Il blocco è un multiplexer 1 da n per valori INT (n = 2, 4, 8). In relazione al valore
dell'ingresso selezionato K, uno dei valori degli ingressi IN0...IN7 viene emesso all'uscita.
Numero ingressi
2 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Connessioni
Funzione
Il blocco è un multiplexer 1 da n per valori DINT (n = 2, 4, 8). In relazione al valore
dell'ingresso selezionato K, uno dei valori degli ingressi IN0...IN7 viene emesso all'uscita.
Numero ingressi
2 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Connessioni
Funzione
Il blocco è un multiplexer 1 da n per valori REAL (n = 2, 4, 8). In relazione al valore
dell'ingresso selezionato K, uno dei valori degli ingressi IN0...IN7 viene emesso all'uscita.
Numero ingressi
2 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Connessioni
Funzione
Il blocco è un multiplexer 1 da n per valori BOOL (n = 2, 4, 8). In relazione al valore
dell'ingresso selezionato K, uno dei valori degli ingressi IN0...IN7 viene emesso all'uscita.
Numero
ingressi
2 K: 0 1
OUT: IN0 IN1
4 K: 0 1 2 3
OUT: IN0 IN1 IN2 IN3
8 K: 0 1 2 3 4 5 6 7
OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Connessioni
Funzione
Questo blocco commuta, in base al valore dell'ingresso K, il valore dell'ingresso IN0 (K = 1)
oppure dell'ingresso IN1 (K = 0) sull'uscita.
Connessioni
Funzione
Questo blocco commuta, in base al valore dell'ingresso K, il valore dell'ingresso IN0 (K = 1)
oppure dell'ingresso IN1 (K = 0) sull'uscita.
Connessioni
Funzione
Questo blocco costituisce un contatore in avanti comandato mediante fronte. Al verificarsi di
un fronte di salita all'ingresso S il contatore viene impostato sul valore PV. Al verificarsi di un
fronte di salita all’ingresso CU il valore di conteggio viene aumentato. Tale valore viene
emesso all'uscita CV. Quando viene raggiunto il valore INT massimo (32767) il contatore
viene arrestato. Il contatore viene azzerato con un reset e può ricominciare il conteggio.
Q = 0, se CV = 0,
Q = 1, se CV > 0
Comportamento all’avvio
All’avvio il blocco ha lo stesso comportamento come nel caso di un reset (CV = 0).
Tabella di verità
R CU CV ENO
1 X 0 1
0 1 CV*+1 1
0 0 CV* 1
X è un valore qualsiasi
CV* è il valore ottenuto dall'ultimo ciclo
Connessioni
Nota
Questo blocco è disponibile in due punti: nella biblioteca standard come SFB0 e nella
biblioteca di base CFC come FB24. I due blocchi si comportano diversamente:
• All'SFB0 non è preassegnato alcun valore. L'ingresso PV viene confrontato con l'uscita CV
per verificare se ne raggiunge o ne supera il valore. L'uscita Q indica se il valore attuale di
conteggio è maggiore o uguale a PV.
• All'FB24 è stato preassegnato l'ingresso PV. A partire da questo valore inizia il conteggio.
L'uscita Q non viene analizzata.
Funzione
Questo blocco costituisce un contatore all’indietro comandato mediante fronte. Al verificarsi
di un fronte di salita all'ingresso S il contatore viene impostato con il valore PV. Al verificarsi
di un fronte di salita nell’ingresso CD il valore di conteggio viene diminuito. Tale valore viene
emesso all'uscita CV. Al raggiungimento del valore INT minimo il contatore viene fermato. Il
valore di conteggio viene azzerato con un reset.
Q = 0, se CV = 0
Q = 1, se CV > 0
Quando CV = 0 il contatore viene arrestato. Il conteggio non prosegue nel campo numerico
negativo.
Comportamento all’avvio
All’avvio il blocco ha lo stesso comportamento come nel caso di un reset (CV = 0).
Tabella di verità
R CD CV ENO
1 X 0 1
0 1 CV*-1 1
0 0 CV* 1
X è un valore qualsiasi
CV* è il vecchio valore ottenuto dall'ultimo ciclo
Connessioni
Funzione
Questo blocco costituisce un contatore in avanti/all’indietro comandato mediante fronte. Al
verificarsi di un fronte di salita all'ingresso S il contatore viene impostato con il valore PV. Al
verificarsi di un fronte di salita all’ingresso CU il valore di conteggio viene aumentato. Al
verificarsi di un fronte di salita nell’ingresso CD il valore di conteggio viene diminuito. Tale
valore viene emesso all'uscita CV. Il valore di conteggio può essere controllato mediante le
uscite QU o QD. Il resettaggio del contatore avviene con R=1.
QU = 1, se CV < max. INT (32767)
QU = 0, se CV = max. INT (32767)
QD = 0, se CV = min. INT (-32768)
QD = 1, se CV > - max. INT (-32768)
Comportamento all’avvio
All’avvio il blocco ha lo stesso comportamento come nel caso di un reset (CV = 0).
Tabella di verità
R CU CD CV ENO
1 X X 0 1
0 1 0 CV*+1 1
0 0 1 CV*-1 1
0 0 0 CV* 1
0 1 1 CV* 1
X è un valore qualsiasi
CV* è il valore ottenuto dall'ultimo ciclo
Connessioni
Funzione
Il blocco avvia il timer nel modo nel tipo di funzionamento preimpostato dal valore
all’ingresso MODE:
● generatore di impulsi
● Impulso prolungato
● ritardo all’inserzione
● Ritardo all’inserzione con memoria
● ritardo alla disinserzione
Modi di funzionamento
Il blocco assume il modo di funzionamento (MODE) solo nel caso di un fronte positivo
dell'ingresso I0. Questo cambio di fronte è necessario anche dopo il nuovo avviamento della
CPU. Il contatore di tempo PTIME viene caricato con il valore TIME0 e decrementato
ciclicamente del tempo di campionamento SAMPLE_T. Trascorso il tempo, l'uscita Q0 viene
modificata in relazione al modo di funzionamento. Tramite RESET = 1 vengono emesse le
uscite Q0 = 0 e PTIME = 0.
Diagrammi di impulsi
MODE = 0 impulso
Connessioni
Nota
Somma del tempo di campionamento SAMPL_T
Il blocco TIMER_P lavora internamente con valori REAL. Ogni volta che il tempo di
campionamento SAMPL_T non può essere rappresentato esattamente come numero REAL
si possono verificare imprecisioni nella somma.
Il tempo di campionamento può essere rappresentato in modo esatto come numero REAL
quando i decimali del tempo di campionamento derivano dalla divisione di 2, 4, 8, 16 ecc.
Esempi di tempi di campionamento esatti: x.5, x.25, x.125, x.0625 ecc.
Esempi di tempi di campionamento non esatti: x.1, x.2
In cui "x" sta per un numero intero positivo.
Nota
Per operare correttamente il blocco R_TRIG deve essere integrato in un allarme di
schedulazione (richiamo ciclico).
Funzione
Questo blocco verifica se nella grandezza di ingresso si manifesta un fronte di salita e indica
in uscita se sia stato riconosciuto un fronte. Se viene rilevato un fronte positivo dell'impulso
di ingresso CLK, l'uscita Q viene impostata a 1.
Comportamento all’avvio
All’avvio il merker di fronte viene impostato a 0.
Diagramma di impulsi
Connessioni
Nota
Per operare correttamente il blocco R_TRIG deve essere integrato in un allarme di
schedulazione (richiamo ciclico).
Funzione
Questo blocco verifica se nella grandezza di ingresso si manifesta un fronte di discesa e
indica in uscita se sia stato riconosciuto un fronte. Se viene rilevato un fronte negativo
dell'impulso di ingresso CLK, l'uscita Q viene impostata a 1.
Comportamento all’avvio
All’avvio il merker di fronte viene impostato a 1.
Diagramma di impulsi
Connessioni
Nota
Per operare correttamente il blocco AFP deve essere integrato in un allarme di
schedulazione (richiamo ciclico).
Funzione
Temporizzatore. Questo blocco genera impulsi la cui durata e pausa devono essere definite
mediante parametri. La durata e la pausa dell’impulso vengono indicate in ms.
Comportamento all’avvio
All'avvio i contatori e i bit enable vengono impostati per i periodi Q = 0 e Q = 1. Il bit enable
per Q = 0 diventa 1, gli altri valori vengono impostati a 0.
Diagramma di impulsi
Connessioni
Funzione
Questo blocco misura il tempo che intercorre fra due richiami (massimo 2 147 483 647 ms).
Nota
Tra i richiami non deve collocarsi un cambiamento di data, in caso contrario si avrà una
differenza di tempo negativa ([Link] – tempo misurato).
Connessioni
Funzione
Questo blocco fornisce all’uscita TM l'orario di sistema in cui viene richiamato il blocco.
Connessioni
Funzione
Questo blocco fornisce in uscita TM_DIFF la differenza di tempo fra l'orario di ingresso TM e
l'orario di sistema attuale. L'ingresso TM di questo blocco può essere interconnesso con
l'uscita TM di un blocco TIME_BEG per determinare il tempo che intercorre fra le chiamate di
questi due blocchi.
Connessioni
16.2 CONT_C
Introduzione
Il blocco funzionale CONT_C consente la regolazione di processi tecnici con grandezze di
ingresso ed uscita continue nei sistemi di automazione SIMATIC S7. Tramite parametri è
possibile inserire o disinserire funzioni parziali del regolatore PID per adattarlo in questo
modo al circuito regolato.
Impiego
È possibile impiegare questo regolatore come regolatore PID con setpoint fisso nella
regolazione singola o a più corse come regolatore in cascata, di miscela o proporzionale. La
modalità di funzionamento si basa sull'algoritmo di controllo PID del regolatore digitale con
segnale di uscita analogico, eventualmente completato da un generatore di impulsi per la
generazione di segnali modulati alla durata dell'impulso per la regolazione a due o tre punti
con organi attuatori proporzionali.
Descrizione
Oltre alle funzioni relative ai valori di riferimento e ai valori attuali, il blocco funzionale
realizza un regolatore PID completo con uscita continua per grandezze regolanti e possibilità
di influenzare manualmente il valore regolante. Le funzioni parziali disponibili sono:
● Diramazione valore di riferimento (Pagina 213)
● Diramazione valore istantaneo (Pagina 207)
● Formazione della deviazione di regolazione (Pagina 212)
● Algoritmo PID (Pagina 211)
● Elaborazione manuale dei valori (Pagina 205)
● Elaborazione del valore regolante (Pagina 214)
● Inserzione segnale di disturbo (Pagina 215)
Parametri di ingresso
Parametri di uscita
Ulteriori informazioni
Per maggiori informazioni vedere il paragrafo:
CONT_C: Schema a blocchi (Pagina 168)
16.3 CONT_S
Introduzione
Il blocco funzionale CONT_S consente di regolare i processi tecnici con segnali di uscita per
valori binari di regolazione per organi attuatori essenziali nei sistemi di automazione
SIMATIC S7. Tramite la parametrizzazione è possibile inserire o disinserire funzioni parziali
del regolatore a passi PI e adattarlo così al circuito regolato.
Impiego
Il regolatore può essere utilizzato singolarmente come regolatore PI con setpoint fisso, o in
circuito di regolazione subordinato come regolatore in cascata, di miscela o proporzionale,
ma non come regolatore pilota. La modalità di funzionamento si basa sull'algoritmo di
regolazione PI del regolatore digitale ed è integrata dagli organi di funzionamento per la
generazione del segnale di uscita binario dal segnale regolante analogico.
Impostando TN = T#0 ms viene disattivato il componente integrale del regolatore ed è così
possibile utilizzare il blocco come regolatore P.
Poiché il regolatore opera senza risposta di posizione, la grandezza regolante calcolata
internamente non coincide esattamente con la posizione dell'organo attuatore. Viene
effettuata una compensazione se la grandezza regolante (ER * GAIN) diventa negativa. In
questo caso il regolatore mantiene l'uscita "Segnale del valore regolante basso” (QLMNDN)
fino a quando non si attiva il segnale di arresto inferiore della risposta di posizione
(LMNR_LS).
Il regolatore può essere impiegato anche in un circuito di regolazione subordinato, come
regolatore in cascata. La posizione dell'organo attuatore viene preimpostata tramite
l'ingresso del setpoint SP_INT. In questo caso, l'ingresso del valore istantaneo e il parametro
"Tempo di integrazione" (TN) devono essere impostati sullo zero. Un regolatore di questo
tipo può trovare applicazione, per esempio, nel caso di regolazione di temperatura con
comando impulso-pausa per il calore e valvola di regolazione per la refrigerazione.
Quando la grandezza regolante (ER * GAIN) diventa negativa, la valvola si chiude
completamente.
Descrizione
Oltre alle funzioni relative alla diramazione del valore istantaneo, il blocco funzionale realizza
un regolatore PI completo con uscita binaria per valori regolanti e possibilità di influenza
manuale di questi valori. Il regolatore a passi opera senza risposta di posizione. Le funzioni
parziali disponibili sono:
● Diramazione valore di riferimento (Pagina 213)
● Diramazione valore istantaneo (Pagina 207)
● Formazione della deviazione di regolazione (Pagina 212)
● Algoritmo a passi PI (Pagina 210)
● Inserzione segnale di disturbo (Pagina 215)
Parametri di ingresso
Parametri di uscita
Ulteriori informazioni
Per maggiori informazioni vedere il paragrafo:
CONT_S: Schema a blocchi (Pagina 174)
16.4 PULSEGEN
Introduzione
Il blocco funzionale PULSEGEN consente la costruzione di un regolatore PID con uscita a
impulsi per organi attuatori proporzionali.
Impiego
Con il blocco funzionale (PULSEGEN) è possibile creare regolatori PID a due o tre punti con
modulazione a durata di impulsi. Questa funzione viene impiegata in prevalenza con il
regolatore continuo CONT_C (Pagina 162).
Descrizione
La funzione PULSEGEN trasforma la grandezza di ingresso INV (= LMN del regolatore PID)
tramite la modulazione della durata degli impulsi in una sequenza di impulsi con periodo
costante che corrisponde al tempo di ciclo con cui viene aggiornata la grandezza di ingresso
e che deve essere parametrizzata in PER_TM.
La durata di un impulso per periodo è proporzionale alla grandezza di ingresso. Il ciclo
parametrizzato tramite PER_TM non è uguale al ciclo di elaborazione del blocco di funzione
PULSEGEN. Il ciclo PER_TM è composto piuttosto da più cicli di elaborazione del blocco
funzionale PULSEGEN. Il numero di richiami di PULSEGEN per ogni ciclo PER_TM
rappresenta una misura della precisione della modulazione di ampiezza degli impulsi.
Per maggiori informazioni sull'argomento vedere: Modulazione di ampiezza degli impulsi
(Pagina 206)
Una grandezza d'ingresso del 30% e 10 richiami PULSEGEN per ogni PER_TM stanno ad
indicare:
● "uno" all'uscita QPOS per i primi tre richiami di PULSEGEN (30% di 10 richiami).
● "zero" all'uscita QPOS per sette ulteriori richiami di PULSEGEN (70% di 10 richiami).
La durata dell'impulso viene ricalcolata all'inizio di ogni periodo.
Nota
La scansione della frequenza di richiamo deve essere programmata dall'utente.
Sincronizzazione automatica
È possibile sincronizzare automaticamente l'emissione degli impulsi con il blocco che
aggiorna la grandezza di ingresso INV (ad esempio CONT_C). In questo modo si garantisce
che una grandezza di ingresso che varia venga emessa al più presto possibile come
impulso.
Il generatore di impulsi valuta sempre, nell'intervallo di tempo del periodo PER_TM, la
grandezza di ingresso INV e trasforma il valore in un segnale di impulso della lunghezza
corrispondente. Poiché INV viene di solito calcolato in un livello di allarme di schedulazione
orologio più lento, il generatore di impulsi dovrebbe cominciare prima possibile dopo
l'aggiornamento di INV a trasformare il valore discreto in un segnale di impulso.
Il blocco può sincronizzare da solo l'inizio del periodo secondo il seguente procedimento:
Se INV è variato e il richiamo di blocco non si trova né nel primo né negli ultimi due cicli di
richiamo di un periodo, viene eseguita una sincronizzazione. La durata dell'impulso viene
ricalcolata e al ciclo successivo, con un nuovo periodo, inizia l'emissione.
La sincronizzazione automatica può essere disinserita all'ingresso "SYN_ON" (= FALSE).
Nota
Con l'inizio del nuovo periodo, il vecchio valore di INV (ovvero di LMN) a sincronizzazione
terminata viene riportato più o meno esattamente al segnale di impulso.
Modi di funzionamento
A seconda della parametrizzazione del generatore di impulsi, i regolatori PID possono
essere configurati a tre punti o con un'uscita a due punti bipolare o unipolare. La tabella
seguente illustra l'impostazione delle combinazioni degli interruttori per i vari tipi di
funzionamento possibili.
Parametri di ingresso
Nota
Nel blocco i valori dei parametri di ingresso non vengono limitati. Non ha luogo alcuna
verifica dei parametri.
Parametri di uscita
Ulteriori informazioni
Per maggiori informazioni consultare i seguenti paragrafi:
PULSEGEN: Schema a blocchi (Pagina 181)
PULSEGEN: Regolazione a tre punti (Pagina 181)
PULSEGEN: Regolazione a tre punti, asimmetrica (Pagina 182)
PULSEGEN: Regolazione a due punti (Pagina 183)
PULSEGEN: Funzionamento manuale per la regolazione a due o a tre punti (Pagina 184)
Descrizione
Nel tipo di funzionamento "Regolazione a tre punti", possono essere creati tre stati del
segnale regolante. A questo scopo, i valori di stato dei segnali binari di uscita QPOS_P e
QNEG_P vengono attribuiti ai relativi stati di funzionamento dell'organo attuatore: la tabella
illustra l'esempio di un controllo di temperatura.
Organo attuatore
Segnale di uscita Riscaldamento OFF Raffreddamento
QPOS_P TRUE FALSE FALSE
QNEG_P FALSE FALSE TRUE
Dalla grandezza di ingresso viene calcolata la durata dell'impulso mediante una curva
caratteristica. La forma di questa curva caratteristica viene definita dalla durata minima
dell'impulso ovvero dalla durata della pausa e dal fattore proporzionale. Il valore normale per
il fattore proporzionale è 1.
Le flessioni sulle curve caratteristiche sono causate dalla durata minima dell'impulso o della
pausa. Per maggiori informazioni sull'argomento vedere:
Curva caratteristica simmetrica per regolatore a tre punti (Pagina 216)
Avvertenza
I valori assoluti di piccola entità della grandezza di ingresso LMN che potrebbero generare
una durata dell'impulso minore di P_B_TM vengono soppressi. I valori di ingresso di grande
entità invece, che potrebbero generare una durata dell'impulso maggiore di PER_TM -
P_B_TM), vengono impostati a
100% o a -100%.
La durata degli impulsi positivi o negativi si ricava dalla grandezza di ingresso (in %)
moltiplicata per il periodo: durata impulso = INV / 100 * PER_TM
Ulteriori informazioni
Per maggiori informazioni consultare i seguenti paragrafi:
PULSEGEN: Regolazione a tre punti, asimmetrica (Pagina 182)
PULSEGEN: Regolazione a due punti (Pagina 183)
PULSEGEN: Funzionamento manuale per la regolazione a due o a tre punti (Pagina 184)
Descrizione
Il rapporto tra la durata degli impulsi positivi e quella degli impulsi negativi può essere
modificato con il fattore RATIOFAC. In caso di un processo termico, ad esempio, è possibile
tener conto di diverse costanti di tempo utilizzate per il riscaldamento e il raffreddamento.
Il fattore proporzionale condiziona anche la durata minima dell'impulso o della pausa. Un
fattore proporzionale < 1 sta ad indicare che il valore di intervento per gli impulsi negativi
viene moltiplicato per il fattore stesso.
Ulteriori informazioni
Per maggiori informazioni consultare i seguenti paragrafi:
Curva caratteristica asimmetrica per regolatore a tre punti (Pagina 217)
PULSEGEN: Regolazione a tre punti (Pagina 181)
PULSEGEN: Regolazione a due punti (Pagina 183)
PULSEGEN: Funzionamento manuale per la regolazione a due o a tre punti (Pagina 184)
Descrizione
Nella regolazione a due punti viene collegata solo l'uscita impulsi positiva QPOS_P di
PULSEGEN al relativo organo attuatore di accensione/spegnimento. A seconda del campo
del valore regolante utilizzato, il regolatore a due punti ha un campo bipolare o unipolare.
QNEG_P mette a disposizione il segnale di uscita negato, se il collegamento del regolatore a
due punti nel circuito di regolazione richiede un segnale binario logico inverso per gli impulsi
di regolazione.
Ulteriori informazioni
Per ulteriori informazioni sull’argomento consultare i paragrafi:
Curva caratteristica con campo del valore regolante bipolare (Pagina 208)
Curva caratteristica con campo del valore regolante unipolare (Pagina 209)
PULSEGEN: Regolazione a tre punti (Pagina 181)
PULSEGEN: Regolazione a tre punti, asimmetrica (Pagina 182)
PULSEGEN: Funzionamento manuale per la regolazione a due o a tre punti (Pagina 184)
Descrizione
Nel funzionamento manuale (MAN_ON = TRUE), è possibile impostare le uscite binarie del
regolatore a due o tre punti mediante i segnali POS_P_ON e NEG_P_ON
indipendentemente da INV.
Ulteriori informazioni
Per ulteriori informazioni sull’argomento consultare i paragrafi:
PULSEGEN: Regolazione a tre punti (Pagina 181)
PULSEGEN: Regolazione a tre punti, asimmetrica (Pagina 182)
PULSEGEN: Regolazione a due punti (Pagina 183)
DELAY (Pagina 186) Genera un interrupt di software il cui nome viene trasferito come parametro
DELAY: Ritardo degli Ritardo di tutti gli eventi di avvio fino alla abilitazione dell'elaborazione
eventi di avvio
(Pagina 187)
EDELAY : Abilitazione Abilitazione degli eventi di avvio ritardati
degli eventi di avvio
ritardati (Pagina 188)
DISCARD: Tutti gli Tutti gli eventi di avvio vengono rifiutati (non avviati), in modo che il
eventi di avvio livello di esecuzione richiamato possa lavorare senza interruzione
vengono rifiutati
(Pagina 189)
EDISCARD: Abilitazione di tutti i nuovi eventi di avvio
Abilitazione di tutti i
nuovi eventi di avvio
(Pagina 190)
LASTERR: Rilevamento del codice degli errori di periferia e degli errori nei
Rilevazione del codice blocchi di sistema DELAY, EDELAY, DISCARD, EDISCARD, P_REASON
di errore in DELAY,
EDELAY, DISCARD,
EDISCARD,P_REASO
N (Pagina 191)
SYSTIME: Rilevamento del tempo di sistema
Rilevamento del tempo
di sistema
(Pagina 192)
P_REASON: Rilevamento del causa del richiamo di un interrupt di processo
Rilevamento della
causa del richiamo di
un interrupt di
processo (Pagina 193)
17.2 DELAY
Nota
Il blocco può essere impiegato solo per un sistema di esecuzione M7-300/400!
Funzione
Questo blocco genera un interrupt di software e avvia il livello di esecuzione (task) il cui
nome viene indicato all'ingresso TN.
Se viene indicato un nome a cui non è stato assegnato alcun livello di esecuzione, alla
compilazione e alla verifica di coerenza compare un messaggio di errore.
Connessioni
Nota
Il blocco può essere impiegato solo per un sistema di esecuzione M7-300/400!
Funzione
Questo blocco permette che il livello di esecuzione richiamante possa lavorare senza essere
interrotto da altri livelli di esecuzione. Tutti gli eventi di avvio che si verificano vengono
ritardati finché l'elaborazione non viene abilitata (con il blocco EDELAY) oppure il livello di
esecuzione attuale non è concluso.
Dopo di che verranno eseguiti gli eventi di avvio verificatisi nel frattempo.
Se durante l’elaborazione si verifica un errore, lo si può interrogare con il blocco LASTERR.
Ulteriori informazioni sui blocchi EDELAY e LASTERR sono disponibili nei seguenti
paragrafi:
● EDELAY : Abilitazione degli eventi di avvio ritardati (Pagina 188)
● LASTERR: Rilevazione del codice di errore in DELAY, EDELAY, DISCARD,
EDISCARD,P_REASON (Pagina 191)
Nota
Il blocco può essere impiegato solo per un sistema di esecuzione M7-300/400!
Funzione
Questo blocco abilita di nuovo gli eventi di avvio ritardati. Gli eventi di avvio devono essere
stati precedentemente ritardati con il blocco DELAY.
Se durante l’elaborazione si verifica un errore, lo si può interrogare con il blocco LASTERR.
Ulteriori informazioni sui blocchi DELAY e LASTERR sono disponibili nei seguenti paragrafi:
● DELAY: Ritardo degli eventi di avvio (Pagina 187)
● LASTERR: Rilevazione del codice di errore in DELAY, EDELAY, DISCARD,
EDISCARD,P_REASON (Pagina 191)
Nota
Il blocco può essere impiegato solo per un sistema di esecuzione M7-300/400!
Funzione
Questo blocco permette che il livello di esecuzione richiamante possa lavorare senza essere
interrotto da altri livelli di esecuzione. Tutti gli eventi di avvio che si verificano vengono
rifiutati, ovvero i livelli di esecuzione non vengono avviati. Gli eventi (ritardati) già registrati
vengono elaborati completamente. Gli interrupt di processo vengono subito confermati.
Tutti gli eventi di avvio che si verificano vengono rifiutati finché l'elaborazione non viene
abilitata (con il blocco EDISCARD) oppure il livello di esecuzione attuale non è concluso.
Se durante l’elaborazione si verifica un errore, lo si può interrogare con il blocco LASTERR.
Ulteriori informazioni sui blocchi EDISCARD e LASTERR sono disponibili nei seguenti
paragrafi:
● EDISCARD: Abilitazione di tutti i nuovi eventi di avvio (Pagina 190)
● LASTERR: Rilevazione del codice di errore in DELAY, EDELAY, DISCARD,
EDISCARD,P_REASON (Pagina 191)
Nota
Il blocco può essere impiegato solo per un sistema di esecuzione M7-300/400!
Funzione
Questo blocco abilita di nuovo i nuovi eventi di avvio. Prima deve essere stata inibita
l'elaborazione degli eventi di avvio tramite il blocco DISCARD.
Se durante l’elaborazione si verifica un errore, lo si può interrogare con il blocco LASTERR.
Ulteriori informazioni sui blocchi DISCARD e LASTERR sono disponibili nei seguenti
paragrafi:
● DISCARD: Tutti gli eventi di avvio vengono rifiutati (Pagina 189)
● LASTERR: Rilevazione del codice di errore in DELAY, EDELAY, DISCARD,
EDISCARD,P_REASON (Pagina 191)
Nota
Il blocco può essere impiegato solo per un sistema di esecuzione M7-300/400!
Funzione
Questo blocco fornisce, per le seguenti classi di errore, il codice dell'ultimo errore
verificatosi:
● Errore di periferia
● Errore nei blocchi di sistema:
– DELAY: Ritardo degli eventi di avvio (Pagina 187),
– EDELAY : Abilitazione degli eventi di avvio ritardati (Pagina 188),
– DISCARD: Tutti gli eventi di avvio vengono rifiutati (Pagina 189),
– EDISCARD: Abilitazione di tutti i nuovi eventi di avvio (Pagina 190),
– P_REASON: Rilevamento della causa del richiamo di un interrupt di processo
(Pagina 193)
I valori possibili sono un sotto-insieme del codice di errore del software di sistema M7.
Questi valori possono essere reperiti nel file M7API.H oppure nella documentazione del
software di sistema M7.
Connessioni
Nota
Il blocco può essere impiegato solo per un sistema di esecuzione M7-300/400!
Funzione
Con questo blocco è possibile rilevare il tempo di sistema. Esso viene fornito nel formato
TIME all'uscita del blocco.
Connessioni
Funzione
Questo blocco consente di determinare la causa del richiamo di un interrupt di processo.
Il task desiderato viene specificato tramite il suo nome all’ingresso TN. Se non si tratta di un
interrupt di processo, il blocco non è attivo.
L’informazione supplementare dell’interrupt di processo viene emessa all’uscita STATE
durante l’ultimo richiamo. Il contenuto di questa informazione supplementare dipende dal
blocco e, per quanto riguarda la sequenza dei byte, viene fornito in formato INTEL.
All’uscita MASK viene emessa anche la maschera per gli interrupt che è stata progettata in
CFC per questo livello di esecuzione dell’interrupt di processo.
Se durante l’elaborazione si verifica un errore, lo si può interrogare con il blocco LASTERR.
Per ulteriori informazioni sul blocco LASTERR consultare il paragrafo: LASTERR:
Rilevazione del codice di errore in DELAY, EDELAY, DISCARD, EDISCARD,P_REASON
(Pagina 191)
Connessioni
Impiego
Il blocco viene utilizzato in uno schema CFC se vengono impiegati collegamenti inter-AS e
se lo stato dell'errore di questi collegamenti deve essere valutato nel programma utente.
Per ogni collegamento inter-AS è necessario inserire un'istanza del blocco nello schema
CFC, sia dalla parte del mittente che dalla parte del ricevente.
Rimuovere le istanza una volta eliminato il collegamento inter-AS.
Funzione
Il blocco fornisce all'uscita lo stato dell'errore del collegamento inter-AS il cui numero è stato
parametrizzato all'ingresso NETPRO_ID.
Il blocco fornisce per ogni errore un proprio bit. È inoltre disponibile un errore cumulativo.
Viene visualizzato un errore anche quando non è presente il NETPRO_ID indicato.
Parametri di ingresso
Parametri di uscita
18.2 IK_MANAG
IK_MANAG
Impiego
Il blocco "IK_MANAG è parte del sistema di runtime per il supporto di interconnessioni inter-
AS che viene copiato automaticamente nella cartella dei blocchi del programma S7 al
momento della prima creazione di un'interconnessione inter-AS.
Non è prevista una descrizione dettagliata di questo blocco.
Per ulteriori informazioni sull'interconnessione inter-AS, consultare la Guida "CFC per
SIMATIC S7 > Creazione di strutture di esecuzione > Creazione e utilizzo di interconnessioni
> Crea interconnessioni inter-AS".
18.3 IK_SEND
IK_SEND
Impiego
Il blocco "IK_SEND è parte del sistema di runtime per il supporto di interconnessioni inter-AS
che viene copiato automaticamente nella cartella dei blocchi del programma S7 al momento
della prima creazione di un'interconnessione inter-AS.
Non è prevista una descrizione dettagliata di questo blocco.
Per ulteriori informazioni sull'interconnessione inter-AS, consultare la Guida "CFC per
SIMATIC S7 > Creazione di strutture di esecuzione > Creazione e utilizzo di interconnessioni
> Crea interconnessioni inter-AS".
18.4 IK_RCV
IK_RCV
Impiego
Il blocco IK_RCV è parte del sistema di runtime per il supporto di interconnessioni inter-AS
che viene copiato automaticamente nella cartella dei blocchi del programma S7 al momento
della prima creazione di un'interconnessione inter-AS.
Non è prevista una descrizione dettagliata di questo blocco.
Per ulteriori informazioni sull'interconnessione inter-AS, consultare la Guida "CFC per
SIMATIC S7 > Creazione di strutture di esecuzione > Creazione e utilizzo di interconnessioni
> Crea interconnessioni inter-AS".
18.5 IK_CP_OU
IK_CP_OU
Impiego
Il blocco IK_CP_OU è parte del sistema di runtime per il supporto di interconnessioni inter-
AS che viene copiato automaticamente nella cartella dei blocchi del programma S7 al
momento della prima creazione di un'interconnessione inter-AS.
Non è prevista una descrizione dettagliata di questo blocco.
Per ulteriori informazioni sull'interconnessione inter-AS, consultare la Guida "CFC per
SIMATIC S7 > Creazione di strutture di esecuzione > Creazione e utilizzo di interconnessioni
> Crea interconnessioni inter-AS".
18.6 IK_CP_IN
IK_CP_IN
Impiego
Il blocco IK_CP_IN è parte del sistema di runtime per il supporto di interconnessioni inter-AS
che viene copiato automaticamente nella cartella dei blocchi del programma S7 al momento
della prima creazione di un'interconnessione inter-AS.
Non è prevista una descrizione dettagliata di questo blocco.
Per ulteriori informazioni sull'interconnessione inter-AS, consultare la Guida "CFC per
SIMATIC S7 > Creazione di strutture di esecuzione > Creazione e utilizzo di interconnessioni
> Crea interconnessioni inter-AS".
18.7 IK_ALARM
IK_ALARM
Impiego
Il blocco IK_ALARM è parte del sistema di runtime per il supporto di interconnessioni inter-
AS che viene copiato automaticamente nella cartella dei blocchi del programma S7 al
momento della prima creazione di un'interconnessione inter-AS.
Non è prevista una descrizione dettagliata di questo blocco.
Per ulteriori informazioni sull'interconnessione inter-AS, consultare la Guida "CFC per
SIMATIC S7 > Creazione di strutture di esecuzione > Creazione e utilizzo di interconnessioni
> Crea interconnessioni inter-AS".
Funzione
Durante il tempo di esecuzione il blocco confronta il numero di oggetti di processo (PO)
registrati nell'Automation License Manager nella licenza "AS RT PO" con il numero di PO
caricati nell'AS "S7-410".
Durante la compilazione il blocco viene automaticamente inserito nello schema CFC "@PA-
CPU" e questo schema CFC viene inserito nell'OB1. Durante il caricamento nell'AS "S7-
410", il blocco e lo schema CFC vengono caricati nella CPU.
Se il numero di licenze registrate per gli oggetti di processo (PO) nell'Automation License
Manager è minore del numero di oggetti di processo (PO) caricati nell'AS "S7-410", questa
mancanza di licenze viene visualizzata tramite:
● Una voce nel buffer di diagnostica della CPU
● Attivazione ciclica di una rispettiva segnalazione in SIMATIC WinCC.
La segnalazione viene sempre generata durante il caricamento, durante il quale viene
rilevata la mancanza di licenze, e inoltre se cambia la differenza durante il caricamento.
La segnalazione appare di seguito in intervalli di ca. 6 ore.
Se gli oggetti di processo dispongono nuovamente di sufficienti licenze, ad es. dopo la
riduzione dei PO richiesti nel programma AS oppure dopo un acquisto di licenze, questa
segnalazione non viene più generata. Non viene generata alcuna segnalazione
"USCENTE".
Nota
Nell'AS "S7-410", il numero massimo degli oggetti di processo caricabili viene dotato di una
licenza dal hardware. Ciò non consente di caricare un numero maggiore di oggetti di
processo nell'AS di quante licenze presenti dal hardware. Tuttavia questo limite non è
rilevante per il confronto nel blocco "PA-CPU".
Legenda
1 Ciclo PULSEGEN
2 Ciclo CONT_C
Il valore istantaneo può essere letto in formato periferia o in formato di virgola mobile. La
funzione CRP_IN converte il valore di periferia PV_PER in un formato in virgola mobile da -
100 ... +100 % secondo quanto previsto:
Uscita di CPR_IN = PV_PER * 100 / 27648
La funzione PV_NORM normalizza l'uscita di CRP_IN secondo la seguente regola:
Uscita di PV_NORM = (Uscita di CRP_IN) * PV_FAC + PV_OFF
PV_FAC è predefinito con 1 e PV_OFF con 0.
Legenda
1 Permanentemente su "Off"
2 Durata impulso positivo
3 Permanentemente "On"
Legenda
1 Durata impulso positivo
L'algoritmo PID opera con un algoritmo di posizione. Le parti proporzionale, integrale (INT) e
differenziale (DIF) sono collegate in parallelo e possono essere attivate e disattivate
singolarmente. In questo modo si possono parametrizzare i regolatori P, PI, PD e PID.
Legenda
1 Durata impulso positivo
2 Permanentemente "On"
3 Permanentemente "Off"
4 Durata impulso negativo
Legenda
1 Durata impulso positivo
2 Durata impulso negativo
CMP_DI, 39
CMP_I, 38
A CMP_R, 40
CMP_T, 41
ABS_DI, 116
Combinazione antivalente WORD, 26
ABS_I, 104
Combinazione antivalente, generica, DWORD, 32
ABS_R, 77
Combinazione antivalente., 18
ACOS, 87
Combinazione logica AND, 16
ADD_DI, 109
Combinazione logica AND, generica, DWORD, 30
ADD_I, 97
Combinazione logica NAND, 19
ADD_R, 71
Combinazione logica NAND, generica, DWORD, 33
Addizionatore, controllabile, DINT, 120
Combinazione logica NAND, WORD, 27
Addizionatore, controllabile, INT, 108
Combinazione logica NOR, 20
Addizionatore, controllabile, REAL, 92
Combinazione logica NOR, generica, DWORD, 34
Addizionatore, DINT, 109
Combinazione logica NOR, WORD, 28
Addizionatore, INT, 97
Combinazione logica OR, 17
Addizionatore, REAL, 71
Combinazione logica OR, generica, DWORD, 31
AFP, 155
Combinazione logica OR, WORD, 25
AND, 16
Combinazione logica WORD, 24
Arcocoseno, REAL, 87
Comparatore, DINT, 39
Arcoseno, REAL, 86
Comparatore, INT, 38
Arcotangente, REAL, 88
Comparatore, REAL, 40
ASIN, 86
Comparatore, TIME, 41
ATAN, 88
COMPARE, 37
Avvia, 186
Confronta, 160
Task M7, 186
Tempo di ingresso con il tempo attuale, 160
Avviamento con le CPU S7-300, 11
CONT_C, 162
Schema a blocchi,
CONT_S, 169
B
Schema a blocchi,
BIT-LGC, 15 Contatore all’indietro, 146
Blocchi aritmetici, 95 Contatore in avanti, 144
Blocchi BIT-LGC, 15 Contatore in avanti/all’indietro, 147
Blocchi CFC, 13 CONTROL, 161
Blocchi di conversione, 43 Conversione, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
Blocchi per funzioni matematiche in virgola mobile, 69 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68
BO_BY, 63 16 BOOL -> WORD, 64
BO_DW, 65 32 BOOL -> DWORD, 65
BO_W, 64 8 BOOL -> BYTE, 63
BY_BO, 66 BYTE -> 8 BOOL, 66
BY_DW, 45 BYTE -> DWORD, 45
BY_W, 46 BYTE -> WORD, 46
DINT -> DWORD, 47
DINT -> INT, 48
C DINT -> REAL, 49
DWORD -> 32 BOOL, 68
CADD_DI, 120
DWORD -> DINT, 50
CADD_I, 108
DWORD -> REAL, 51
CADD_R, 92
D
I
DELAY, 187
Descrizione di I_DI, 53
FRC_CFC, 194 I_DW, 54
DI_DW, 47 I_R, 55
DI_I, 48 I_W, 56
DI_R, 49 IMPULS, 149
DISCARD, 189 Impulso prolungato, 150
DIV_DI, 112 Intervallo, INT, 107
DIV_I, 100 Intervallo, REAL, 91
DIV_R, 74 Intervallo, simmetrico, DINT, 119
Divisione, INT, 100 Invertita, DWORD, 35
Divisore, DINT, 112 Invertita, WORD, 29
Divisore, REAL, 74 Invertito, 21
DW_BO, 68
DW_DI, 50
DW_R, 51 J
DW_W, 52
JK_FF, 122
JK-FlipFlop, 122
E
EDELAY, 188 L
EDISCARD, 190
LASTERR, 191
EPS_DI, 119
Lettura, 159
EPS_I, 107
Ora attuale, 159
EPS_R, 91
LIM_DI, 118
EVENT, 186
LIM_I, 106
EXP, 79
LIM_R, 90
Limitatore, asimmetrico, DINT, 118
Limitatore, asimmetrico, INT, 106
Limitatore, asimmetrico, REAL, 90
M
O
Massimo, DINT, 114
Massimo, INT, 102 OR, 17
Massimo, REAL, 75 Ora attuale, 159
MATH_FP, 69 Lettura, 159
MATH_INT, 95
MAXn_DI, 114
MAXn_I, 102 P
MAXn_R, 75
P_REASON, 193
Minimo, DINT, 115
PA-CPU, 203
Minimo, INT, 103
Parametri di blocco EN, ENO, SAMPLE_T, 9
Minimo, REAL, 76
Parola di merker 0, 11
MINn_DI, 115
Potenza a base 10, REAL, 80
MINn_I, 103
Potenza, generale, REAL, 93
MINn_R, 76
POW10, 80
Misura, 158
POWXY, 93
Tempo di esecuzione, 158
Pulsegen
MOD_DI, 113
Schema a blocchi,
MOD_I, 101
PULSEGEN, 175
Modulazione ampiezza impulsi, 175
Funzionamento manuale,
Modulo, DINT, 113
Regolazione a due punti,
Modulo, INT, 101
Regolazione a tre punti,
Moltiplicatore, DINT, 111
Regolazione a tre punti, asimmetrica,
Moltiplicatore, REAL, 73
Moltiplicazione, INT, 99
MUL_DI, 111
R
MUL_I, 99
MUL_R, 73 R_DI, 57
Multiplexer, BOOL, 139 R_DW, 58
Multiplexer, DINT, 137 R_I, 59
Multiplexer, INT, 136 R_TRIG, 153
Multiplexer, REAL, 138 Radice quadrata, REAL, 78
MULTIPLX, 135 Regolazione a passi, 169
MUXn_BO, 139 Rilevamento, 153, 154
MUXn_DI, 137 del fronte di discesa, 154
MUXn_I, 136 del fronte di salita, 153
MUXn_R, 138 ritardo all’inserzione, 150
MW0, 11 Ritardo all’inserzione con memoria, 150
ritardo alla disinserzione, 150
ROL_DW, 131
N ROL_W, 130
ROR_DW, 133
NAND, 19
ROR_W, 132
NEG_DI, 117
Rotazione verso sinistra, DWORD, 131
T
TAN, 85
Tangente, REAL, 85
Task M7, 186
Avvia, 186
Tempo di esecuzione, 158
Misura, 158
Tempo di ingresso, 160
Tempo di ingresso
confronto con il tempo attuale,
Temporizzatore, 155
TIME, 158
TIME, gruppo, 157
TIME_BEG, 159
TIME_END, 160
TIMER_P, 150