Il 0% ha trovato utile questo documento (0 voti)
5 visualizzazioni222 pagine

Elembste

Il documento è una guida ai blocchi elementari di CFC per il sistema di controllo del processo PCS 7, con dettagli su vari tipi di blocchi logici, aritmetici e di conversione. Include avvertenze di sicurezza e normative legali, sottolineando l'importanza dell'uso da parte di personale qualificato. Inoltre, fornisce un indice dettagliato dei contenuti, coprendo vari aspetti della programmazione e dell'uso dei blocchi.
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
5 visualizzazioni222 pagine

Elembste

Il documento è una guida ai blocchi elementari di CFC per il sistema di controllo del processo PCS 7, con dettagli su vari tipi di blocchi logici, aritmetici e di conversione. Include avvertenze di sicurezza e normative legali, sottolineando l'importanza dell'uso da parte di personale qualificato. Inoltre, fornisce un indice dettagliato dei contenuti, coprendo vari aspetti della programmazione e dell'uso dei blocchi.
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Parametri di blocco EN,

Guida ai blocchi elementari di CFC ___________________


ENO, SAMPLE_T 1
Avviamento con le CPU S7-
___________________
300 2
___________________
Blocchi CFC 3
Blocchi logici con il tipo di
___________________
dati BOOL 4
SIMATIC Blocchi logici con i tipi di dati
___________________
WORD e DWORD 5
Blocchi per il confronto di
Sistema di controllo del processo
PCS 7 ___________
6
due valori di ingresso dello
stesso tipo
Guida ai blocchi elementari di CFC Blocchi per la conversione di
___________________
diversi tipi di dati 7
Blocchi aritmetici del tipo di
Manuale di programmazione e d'uso ___________________
dati REAL 8
Blocchi aritmetici del tipo di
___________________
dati INT e DINT 9
___________________
Blocchi flip-flop 10
___________________
Blocchi shift 11
___________________
Blocchi multiplex 12
___________________
Blocchi di conteggio 13
___________________
Blocchi per la generazione o
l'elaborazione di impulsi 14
Blocchi per la rilevazione o
___________
15
l’elaborazione di momenti
e intervalli

___________________
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.

Siemens AG A5E34748369-AA Copyright © Siemens AG 2014.


Industry Sector Ⓟ 04/2014 Con riserva di modifiche Tutti i diritti riservati
Postfach 48 48
90026 NÜRNBERG
GERMANIA
Indice del contenuto

1 Parametri di blocco EN, ENO, SAMPLE_T .............................................................................................. 9


2 Avviamento con le CPU S7-300 ............................................................................................................ 11
3 Blocchi CFC .......................................................................................................................................... 13
4 Blocchi logici con il tipo di dati BOOL .................................................................................................... 15
4.1 BIT-LGC .......................................................................................................................................15
4.2 AND: Combinazione logica AND .................................................................................................16
4.3 OR: Combinazione logica OR ......................................................................................................17
4.4 XOR: Combinazione antivalente. .................................................................................................18
4.5 NAND: Combinazione logica NAND ............................................................................................19
4.6 NOR: Combinazione logica NOR.................................................................................................20
4.7 NOT: Combinazione logica NOT .................................................................................................21
5 Blocchi logici con i tipi di dati WORD e DWORD.................................................................................... 23
5.1 WRD_LGC ...................................................................................................................................23
5.2 WAND_W: Combinazione logica AND a parola...........................................................................24
5.3 WOR_W: Combinazione logica OR a parola ...............................................................................25
5.4 WXOR_W: Combinazione antivalente a parola ...........................................................................26
5.5 WNAND_W: Combinazione logica AND a parola ........................................................................27
5.6 WNOR_W: Combinazione logica NOR a parola ..........................................................................28
5.7 WNOT_W: Combinazione logica NOT a parola...........................................................................29
5.8 WAND_DW: Combinazione logica AND a doppia parola ............................................................30
5.9 WOR_DW: Combinazione logica OR a doppia parola.................................................................31
5.10 WXOR_DW: Combinazione antivalente a doppia parola ............................................................32
5.11 WNAND_DW: Combinazione logica NAND a doppia parola .......................................................33
5.12 WNOR_DW: Combinazione logica NOR a doppia parola ...........................................................34
5.13 WNOT_DW: Combinazione logica NOT a doppia parola ............................................................35
6 Blocchi per il confronto di due valori di ingresso dello stesso tipo .......................................................... 37
6.1 COMPARE ...................................................................................................................................37
6.2 CMP_I: Comparatore per valori INT.............................................................................................38
6.3 CMP_DI: Comparatore per valori DINT .......................................................................................39
6.4 CMP_R: Comparatore per valori REAL .......................................................................................40
6.5 CMP_T: Comparatore per valori TIME ........................................................................................41

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 3
Indice del contenuto

7 Blocchi per la conversione di diversi tipi di dati ...................................................................................... 43


7.1 CONVERT ................................................................................................................................... 43
7.2 BY_DW ........................................................................................................................................ 45
7.3 BY_W .......................................................................................................................................... 46
7.4 DI_DW ......................................................................................................................................... 47
7.5 DI_I .............................................................................................................................................. 48
7.6 DI_R ............................................................................................................................................ 49
7.7 DW_DI ......................................................................................................................................... 50
7.8 DW_R .......................................................................................................................................... 51
7.9 DW_W ......................................................................................................................................... 52
7.10 I_DI .............................................................................................................................................. 53
7.11 I_DW............................................................................................................................................ 54
7.12 I_R ............................................................................................................................................... 55
7.13 I_W .............................................................................................................................................. 56
7.14 R_DI ............................................................................................................................................ 57
7.15 R_DW .......................................................................................................................................... 58
7.16 R_I ............................................................................................................................................... 59
7.17 W_BY .......................................................................................................................................... 60
7.18 W_DW ......................................................................................................................................... 61
7.19 W_I .............................................................................................................................................. 62
7.20 BO_BY......................................................................................................................................... 63
7.21 BO_W .......................................................................................................................................... 64
7.22 BO_DW ....................................................................................................................................... 65
7.23 BY_BO......................................................................................................................................... 66
7.24 W_BO .......................................................................................................................................... 67
7.25 DW_BO ....................................................................................................................................... 68
8 Blocchi aritmetici del tipo di dati REAL .................................................................................................. 69
8.1 MATH_FP .................................................................................................................................... 69
8.2 ADD_R: Addizione di numeri REAL ............................................................................................ 71
8.3 SUB_R: Sottrazione di numeri REAL .......................................................................................... 72
8.4 MUL_R: Moltiplicazione di numeri REAL .................................................................................... 73
8.5 DIV_R: Divisione di numeri REAL ............................................................................................... 74
8.6 MAXn_R: Massimo di numeri REAL ........................................................................................... 75
8.7 MINn_R: Minimo di numeri REAL ............................................................................................... 76
8.8 ABS_R: Valore assoluto di numeri REAL ................................................................................... 77

Guida ai blocchi elementari di CFC


4 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Indice del contenuto

8.9 SQRT: Radice quadrata ...............................................................................................................78


8.10 EXP: Funzione esponenziale .......................................................................................................79
8.11 POW10: Potenza a base 10 ........................................................................................................80
8.12 LN: Logaritmo naturale ................................................................................................................81
8.13 LOG10: Logaritmo a base 10.......................................................................................................82
8.14 SIN: Funzione trigonometrica seno..............................................................................................83
8.15 COS: Funzione trigonometrica coseno ........................................................................................84
8.16 TAN: Funzione trigonometrica tangente ......................................................................................85
8.17 ASIN: Funzione di arcoseno ........................................................................................................86
8.18 ACOS: Funzione arcocoseno ......................................................................................................87
8.19 ATAN: Funzione arcotangente.....................................................................................................88
8.20 NEG_R: Negatore di valori REAL ................................................................................................89
8.21 LIM_R: Limitatore di numeri REAL...............................................................................................90
8.22 EPS_R: Genauigkeit Approximation ............................................................................................91
8.23 CADD_R: Addizionatore controllabile di valori REAL ..................................................................92
8.24 POWXY: Funzione di potenza generale ......................................................................................93
8.25 SAMP_AVE: Valore medio in virgola mobile ...............................................................................94
9 Blocchi aritmetici del tipo di dati INT e DINT .......................................................................................... 95
9.1 MATH_INT ...................................................................................................................................95
9.2 ADD_I: Addizione di valori INT.....................................................................................................97
9.3 SUB_I: Sottrazione di valori INT ..................................................................................................98
9.4 MUL_I: Moltiplicazione di valori INT .............................................................................................99
9.5 DIV_I: Divisione di valori INT .....................................................................................................100
9.6 MOD_I: Funzione modulo di valori INT ......................................................................................101
9.7 MAXn_I: Massimo di valori INT ..................................................................................................102
9.8 MINn_I: Minimo di valori INT ......................................................................................................103
9.9 ABS_I: Valore assoluto di valori INT ..........................................................................................104
9.10 NEG_I: Negatore di valori INT ...................................................................................................105
9.11 LIM_I: Limitatore di valori INT ....................................................................................................106
9.12 EPS_I: Genauigkeit Approximation von INT-Werten .................................................................107
9.13 CADD_I: Addizionatore controllabile di valori INT .....................................................................108
9.14 ADD_DI: Addizione di valori DINT .............................................................................................109
9.15 SUB_DI: Sottrazione di valori DINT ...........................................................................................110
9.16 MUL_DI: Moltiplicazione di DINT ...............................................................................................111
9.17 DIV_DI: Divisione di valori DINT ................................................................................................112

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 5
Indice del contenuto

9.18 MOD_DI: Funzione modulo di valori DINT ................................................................................ 113


9.19 MAXn_DI: Massimo di valori DINT ............................................................................................ 114
9.20 MINn_DI: Minimo di valori DINT ................................................................................................ 115
9.21 ABS_DI: Valore assoluto di valori DINT .................................................................................... 116
9.22 NEG_DI: Negatore di valori DINT ............................................................................................. 117
9.23 LIM_DI: Limitatore di valori DINT .............................................................................................. 118
9.24 EPS_DI: Genauigkeit Approximation von DINT-Werten ........................................................... 119
9.25 CADD_DI: Addizionatore controllabile di valori DINT ............................................................... 120
10 Blocchi flip-flop.....................................................................................................................................121
10.1 FLIPFLOP ................................................................................................................................. 121
10.2 JK_FF: JK-FlipFlop .................................................................................................................... 122
10.3 RS_FF: RS-FlipFlop R resettaggio dominante.......................................................................... 123
10.4 SR_FF: RS-FlipFlop S impostazione dominante ...................................................................... 124
11 Blocchi shift .........................................................................................................................................125
11.1 SHIFT ........................................................................................................................................ 125
11.2 SHL_W: Scorrimento WORD verso sinistra .............................................................................. 126
11.3 SHL_DW: Scorrimento DWORD verso sinistra......................................................................... 127
11.4 SHR_W: Scorrimento WORD verso destra............................................................................... 128
11.5 SHR_DW: Scorrimento DWORD verso destra ......................................................................... 129
11.6 ROL_W: Rotazione WORD verso sinistra ................................................................................. 130
11.7 ROL_DW: Rotazione DWORD verso sinistra ........................................................................... 131
11.8 ROR_W: Rotazione WORD verso destra ................................................................................. 132
11.9 ROR_DW: Rotazione DWORD verso destra ............................................................................ 133
12 Blocchi multiplex ..................................................................................................................................135
12.1 MULTIPLX ................................................................................................................................. 135
12.2 MUXn_I: Multiplexer 1 da n per valori INT ................................................................................ 136
12.3 MUXn_DI: Multiplexer 1 aus n für DINT-Werte ......................................................................... 137
12.4 MUXn_R: Multiplexer 1 aus n für REAL-Werte ......................................................................... 138
12.5 MUXn_BO: Multiplexer 1 aus n für BOOL-Werte ...................................................................... 139
12.6 SEL_BO: Multiplexer 1 da 2 per valori BOOL ........................................................................... 140
12.7 SEL_R: Multiplexer 1 da 2 per valori REAL .............................................................................. 141
13 Blocchi di conteggio .............................................................................................................................143
13.1 COUNTER................................................................................................................................. 143
13.2 CTU: Contatore in avanti........................................................................................................... 144
13.3 CTD: Contatore all’indietro ........................................................................................................ 146

Guida ai blocchi elementari di CFC


6 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Indice del contenuto

13.4 CTUD: Contatore in avanti/all’indietro........................................................................................147


14 Blocchi per la generazione o l'elaborazione di impulsi ......................................................................... 149
14.1 IMPULS ......................................................................................................................................149
14.2 TIMER_P: generatore di impulsi ................................................................................................150
14.3 R_TRIG: Riconoscimento del fronte di salita .............................................................................153
14.4 F_TRIG: Riconoscimento del fronte di discesa ..........................................................................154
14.5 AFP: Temporizzatore .................................................................................................................155
15 Blocchi per la rilevazione o l’elaborazione di momenti e intervalli ......................................................... 157
15.1 TIME ...........................................................................................................................................157
15.2 TIME: Misurazione del tempo di esecuzione .............................................................................158
15.3 TIME_BEG: Lettura dell'orario attuale .......................................................................................159
15.4 TIME_END: Confronto del tempo di ingresso con il tempo attuale ...........................................160
16 Blocchi di regolazione ......................................................................................................................... 161
16.1 CONTROL..................................................................................................................................161
16.2 CONT_C.....................................................................................................................................162
16.2.1 CONT_C: Regolatore continuo ..................................................................................................162
16.2.2 CONT_C: Schema a blocchi ......................................................................................................168
16.3 CONT_S .....................................................................................................................................169
16.3.1 CONT_S: Regolatore a passi.....................................................................................................169
16.3.2 CONT_S: Schema a blocchi ......................................................................................................174
16.4 PULSEGEN................................................................................................................................175
16.4.1 PULSEGEN: Modulazione ampiezza impulsi per il regolatore PID ...........................................175
16.4.2 PULSEGEN: Schema a blocchi .................................................................................................181
16.4.3 PULSEGEN: Regolazione a tre punti ........................................................................................181
16.4.4 PULSEGEN: Regolazione a tre punti, asimmetrica ...................................................................182
16.4.5 PULSEGEN: Regolazione a due punti ......................................................................................183
16.4.6 PULSEGEN: Funzionamento manuale per la regolazione a due o a tre punti ..........................184
17 Blocchi per le funzioni di sistema......................................................................................................... 185
17.1 EVENT: Avvio del livello di esecuzione .....................................................................................185
17.2 DELAY .......................................................................................................................................186
17.3 DELAY: Ritardo degli eventi di avvio .........................................................................................187
17.4 EDELAY : Abilitazione degli eventi di avvio ritardati ..................................................................188
17.5 DISCARD: Tutti gli eventi di avvio vengono rifiutati ...................................................................189
17.6 EDISCARD: Abilitazione di tutti i nuovi eventi di avvio ..............................................................190
17.7 LASTERR: Rilevazione del codice di errore in DELAY, EDELAY, DISCARD,
EDISCARD,P_REASON ............................................................................................................191
17.8 SYSTIME: Rilevamento del tempo di sistema ...........................................................................192
17.9 P_REASON: Rilevamento della causa del richiamo di un interrupt di processo .......................193
17.10 FRC_CFC: blocco interno ..........................................................................................................194

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 7
Indice del contenuto

18 Blocchi per i collegamenti validi per più AS ..........................................................................................195


18.1 IK_STATE.................................................................................................................................. 195
18.2 IK_MANAG ................................................................................................................................ 197
18.3 IK_SEND ................................................................................................................................... 198
18.4 IK_RCV...................................................................................................................................... 199
18.5 IK_CP_OU ................................................................................................................................. 200
18.6 IK_CP_IN ................................................................................................................................... 201
18.7 IK_ALARM ................................................................................................................................. 202
19 Famiglia di blocchi "@SYSTEM" ..........................................................................................................203
19.1 PA_CPU: blocchi di controllo per informazioni di licenza ......................................................... 203
20 Appendice............................................................................................................................................205
20.1 Elaborazione manuale dei valori ............................................................................................... 205
20.2 Modulazione di ampiezza degli impulsi ..................................................................................... 206
20.3 Diramazione valore istantaneo ................................................................................................. 207
20.4 Curva caratteristica con campo del valore regolante bipolare .................................................. 208
20.5 Curva caratteristica con campo del valore regolante unipolare ................................................ 209
20.6 Algoritmo a passi PI .................................................................................................................. 210
20.7 Algoritmo PID ............................................................................................................................ 211
20.8 Formazione della deviazione di regolazione ............................................................................. 212
20.9 Diramazione valore di riferimento ............................................................................................. 213
20.10 Elaborazione del valore regolante ............................................................................................ 214
20.11 Inserzione segnale di disturbo .................................................................................................. 215
20.12 Curva caratteristica simmetrica per regolatore a tre punti ........................................................ 216
20.13 Curva caratteristica asimmetrica per regolatore a tre punti ...................................................... 217
Indice analitico .....................................................................................................................................219

Guida ai blocchi elementari di CFC


8 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Parametri di blocco EN, ENO, SAMPLE_T 1
EN
EN (enable): ingresso di abilitazione.
L’ingresso è disponibile soltanto nella rappresentazione grafica CFC, la sua attivazione
tuttavia non è visibile Nell’ingresso di abilitazione è possibile comandare l'attivazione o la
disattivazione dell'elaborazione del blocco. Nel codice di esecuzione si ottiene così che, al
livello del controllore programmabile, il blocco viene richiamato soltanto se è abilitato con EN
= 1.

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.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 9
Parametri di blocco EN, ENO, SAMPLE_T

Guida ai blocchi elementari di CFC


10 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Avviamento con le CPU S7-300 2
Avviamento
Poiché le CPU S7-300 non riconoscono automaticamente il livello di nuovo avviamento, nei
blocchi con funzione di avviamento (contenuti in ELEM_300) la parola di merker 0 (MW0)
viene utilizzata come merker di avviamento. Non è quindi consentito modificare questa
parola di merker nel programma utente.
Affinché l’avviamento possa essere eseguito correttamente, è necessario collocare, una
volta per ogni CPU S7-300, la funzione RESTART (FC 70) in uno schema CFC.
Procedimento:
1. Aprire l'Editor di esecuzione mediante il comando di menu Modifica > Sequenza di
esecuzione oppure facendo clic sulla relativa icona.
2. Inserire nell’OB 100 il blocco RESTART nella prima posizione.
3. Cancellare il blocco RESTART nel task ciclico (preimpostato: OB 35)
il richiamo del blocco avviene soltanto nell'OB 100.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 11
Avviamento con le CPU S7-300

Guida ai blocchi elementari di CFC


12 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi CFC 3
Sono disponibili le seguenti famiglie di blocchi CFC:

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.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 13
Blocchi CFC

Guida ai blocchi elementari di CFC


14 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi logici con il tipo di dati BOOL 4
4.1 BIT-LGC

Blocchi CFC della famiglia "BIT_LGC"


In questa famiglia sono implementati i seguenti blocchi che consentono di realizzare
combinazioni logiche.

AND: Combinazione logica AND (Pagina 16) Combinazione logica AND


OR: Combinazione logica OR (Pagina 17) Combinazione logica OR
XOR: Combinazione antivalente. (Pagina 18) Combinazione antivalente.
NAND: Combinazione logica NAND (Pagina 19) Combinazione logica NAND
NOR: Combinazione logica NOR (Pagina 20) Combinazione logica NOR
NOT: Combinazione logica NOT (Pagina 21) Combinazione logica NOT

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 15
Blocchi logici con il tipo di dati BOOL
4.2 AND: Combinazione logica AND

4.2 AND: Combinazione logica AND

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.

Tabella di verità (in questo esempio n = 2)

IN1 IN2 OUT


0 0 0
0 1 0
1 0 0
1 1 1

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 BOOL 1
IN2 BOOL 1
... ...
INn BOOL 1
Uscita OUT BOOL 1

Guida ai blocchi elementari di CFC


16 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi logici con il tipo di dati BOOL
4.3 OR: Combinazione logica OR

4.3 OR: Combinazione logica OR

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.

Tabella di verità (in questo esempio n = 2)

IN1 IN2 OUT


0 0 0
0 1 1
1 0 1
1 1 1

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 BOOL 0
IN2 BOOL 0
... ...
INn BOOL 0
Uscita OUT BOOL 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 17
Blocchi logici con il tipo di dati BOOL
4.4 XOR: Combinazione antivalente.

4.4 XOR: Combinazione antivalente.

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.

Tabella di verità (in questo esempio n = 2)

IN1 IN2 OUT


0 0 0
0 1 1
1 0 1
1 1 0

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 BOOL 0
IN2 BOOL 0
... ...
INn BOOL 0
Uscita OUT BOOL 0

Guida ai blocchi elementari di CFC


18 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi logici con il tipo di dati BOOL
4.5 NAND: Combinazione logica NAND

4.5 NAND: Combinazione logica NAND

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.

Tabella di verità (in questo esempio n = 2)

IN1 IN2 OUT


0 0 1
0 1 1
1 0 1
1 1 0

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 BOOL 1
IN2 BOOL 1
... ...
INn BOOL 1
Uscita OUT BOOL 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 19
Blocchi logici con il tipo di dati BOOL
4.6 NOR: Combinazione logica NOR

4.6 NOR: Combinazione logica NOR

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.

Tabella di verità (in questo esempio n = 2)

IN1 IN2 OUT


0 0 1
0 1 0
1 0 0
1 1 0

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 BOOL 0
IN2 BOOL 0
... ...
INn BOOL 0
Uscita OUT BOOL 1

Guida ai blocchi elementari di CFC


20 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi logici con il tipo di dati BOOL
4.7 NOT: Combinazione logica NOT

4.7 NOT: Combinazione logica NOT

Funzione
Questo blocco inverte il segnale di ingresso.

Tabella di verità

IN OUT
0 1
1 0

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN BOOL 0
Uscita OUT BOOL 1

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 21
Blocchi logici con il tipo di dati BOOL
4.7 NOT: Combinazione logica NOT

Guida ai blocchi elementari di CFC


22 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi logici con i tipi di dati WORD e DWORD 5
5.1 WRD_LGC

Blocchi CFC della famiglia "WRD_LGC"


In questa famiglia sono implementati i seguenti blocchi che consentono di realizzare
combinazioni logiche con i tipi di dati WORD e DWORD.

WAND_W: Combinazione logica AND a parola Combinazione logica AND a parola


(Pagina 24)
WAND_DW Combinazione logica AND a doppia parola
WOR_W: Combinazione logica OR a parola Combinazione logica OR a parola
(Pagina 25)
WOR_DW Combinazione logica OR a doppia parola
WXOR_W: Combinazione antivalente a parola Combinazione antivalente a parola
(Pagina 26)
WXOR_DW Combinazione antivalente a doppia parola
WNAND_W: Combinazione logica AND a parola Combinazione logica NAND a parola
(Pagina 27)
WNAND_DW Combinazione logica NAND a doppia parola
WNOR_W: Combinazione logica NOR a parola Combinazione logica NOR a parola
(Pagina 28)
WNOR_DW Combinazione logica NOR a doppia parola
WNOT_W Combinazione logica NOT a parola
WNOT_DW: Combinazione logica NOT a doppia Combinazione logica NOT a doppia parola
parola (Pagina 35)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 23
Blocchi logici con i tipi di dati WORD e DWORD
5.2 WAND_W: Combinazione logica AND a parola

5.2 WAND_W: Combinazione logica AND a parola

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.

Esempio (per 2 ingressi)

IN1 2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1


IN2 2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 1 1
OUT 2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 0 1

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 WORD 0
IN2 WORD 0
...
Uscita OUT WORD 0

Guida ai blocchi elementari di CFC


24 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi logici con i tipi di dati WORD e DWORD
5.3 WOR_W: Combinazione logica OR a parola

5.3 WOR_W: Combinazione logica OR a parola

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.

Esempio (per 2 ingressi)

IN1 2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1


IN2 2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 1 1
OUT 2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 1 1

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 WORD 0
IN2 WORD 0
...
Uscita OUT WORD 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 25
Blocchi logici con i tipi di dati WORD e DWORD
5.4 WXOR_W: Combinazione antivalente a parola

5.4 WXOR_W: Combinazione antivalente a parola

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

Esempio (per 2 ingressi)

IN1 2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1


IN2 2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 1 1
OUT 2# 0 0 0 0_0 0 0 0_1 1 0 0_0 0 0 0_1 1 1 0

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 WORD 0
IN2 WORD 0
...
Uscita OUT WORD 0

Guida ai blocchi elementari di CFC


26 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi logici con i tipi di dati WORD e DWORD
5.5 WNAND_W: Combinazione logica AND a parola

5.5 WNAND_W: Combinazione logica AND a parola

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.

Esempio (per 2 ingressi)

IN1 2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1


IN2 2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 1 1
OUT 2# 0 0 0 0_1 1 1 1_1 1 0 0_1 1 1 1_1 1 1 0

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 WORD 0
IN2 WORD 0
...
Uscita OUT WORD 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 27
Blocchi logici con i tipi di dati WORD e DWORD
5.6 WNOR_W: Combinazione logica NOR a parola

5.6 WNOR_W: Combinazione logica NOR a parola

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.

Esempio (per 2 ingressi)

IN1 2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1


IN2 2# 1 1 1 1_0 0 0 0_0 0 1 1_0 0 0 0_0 0 1 1
OUT 2# 0 0 0 0_1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 WORD 0
IN2 WORD 0
Uscita OUT WORD 0

Guida ai blocchi elementari di CFC


28 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi logici con i tipi di dati WORD e DWORD
5.7 WNOT_W: Combinazione logica NOT a parola

5.7 WNOT_W: Combinazione logica NOT a parola

Funzione
Questo blocco inverte l'ingresso a parola. Ogni bit dell'ingresso viene negato e scritto nel bit
equivalente dell'uscita.

Esempio

IN 2# 1 1 1 1_0 0 0 0_1 1 1 1_0 0 0 0_1 1 0 1


OUT 2# 0 0 0 0_1 1 1 1_0 0 0 0_1 1 1 1_0 0 1 0

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN WORD 0
Uscita OUT WORD 1

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 29
Blocchi logici con i tipi di dati WORD e DWORD
5.8 WAND_DW: Combinazione logica AND a doppia parola

5.8 WAND_DW: Combinazione logica AND a doppia parola

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.

Esempio (come per WAND_W, ampliato a 32 bit)

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 DWORD 0
IN2 DWORD 0
Uscita OUT DWORD 0

Guida ai blocchi elementari di CFC


30 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi logici con i tipi di dati WORD e DWORD
5.9 WOR_DW: Combinazione logica OR a doppia parola

5.9 WOR_DW: Combinazione logica OR a doppia parola

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.

Esempio (come con WOR_W, ampliato a 32 bit)

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 DWORD 0
IN2 DWORD 0
Uscita OUT DWORD 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 31
Blocchi logici con i tipi di dati WORD e DWORD
5.10 WXOR_DW: Combinazione antivalente a doppia parola

5.10 WXOR_DW: Combinazione antivalente a doppia parola

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

Esempio (come per WXOR_W, ampliato a 32 bit)

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 DWORD 16#0
IN2 DWORD 16#0
Uscita OUT DWORD 16#00000000

Guida ai blocchi elementari di CFC


32 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi logici con i tipi di dati WORD e DWORD
5.11 WNAND_DW: Combinazione logica NAND a doppia parola

5.11 WNAND_DW: Combinazione logica NAND a doppia parola

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.

Esempio (come per WNAND_W, ampliato a 32 bit)

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 DWORD 0
IN2 DWORD 0
Uscita OUT DWORD 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 33
Blocchi logici con i tipi di dati WORD e DWORD
5.12 WNOR_DW: Combinazione logica NOR a doppia parola

5.12 WNOR_DW: Combinazione logica NOR a doppia parola

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.

Esempio (come per WNOR_W, ampliato a 32 bit)

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN1 DWORD 0
IN2 DWORD 0
Uscita OUT DWORD 0

Guida ai blocchi elementari di CFC


34 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi logici con i tipi di dati WORD e DWORD
5.13 WNOT_DW: Combinazione logica NOT a doppia parola

5.13 WNOT_DW: Combinazione logica NOT a doppia parola

Funzione
Questo blocco inverte l'ingresso a parola. Ogni bit dell'ingresso viene negato e scritto nel bit
equivalente dell'uscita.

Esempio (come per WNOT_W, ampliato a 32 bit)

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN DWORD 0
Uscita OUT DWORD 1

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 35
Blocchi logici con i tipi di dati WORD e DWORD
5.13 WNOT_DW: Combinazione logica NOT a doppia parola

Guida ai blocchi elementari di CFC


36 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per il confronto di due valori di ingresso dello
stesso tipo 6
6.1 COMPARE

Blocchi CFC della famiglia "COMPARE"


In questa famiglia sono implementati i blocchi che effettuano il confronto di due valori di
ingresso:

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)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 37
Blocchi per il confronto di due valori di ingresso dello stesso tipo
6.2 CMP_I: Comparatore per valori INT

6.2 CMP_I: Comparatore per valori INT

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 INT Valore ingresso 1 0
IN2 INT Valore ingresso 2 0
Uscite GT BOOL 1, IN1 > IN2 0
GE BOOL 1, IN1 ≥ IN2 0
EQ BOOL 1, IN1 = IN2 0
LE BOOL 1, IN1 ≤ IN2 0
LT BOOL 1, IN1 < IN2 0

Guida ai blocchi elementari di CFC


38 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per il confronto di due valori di ingresso dello stesso tipo
6.3 CMP_DI: Comparatore per valori DINT

6.3 CMP_DI: Comparatore per valori DINT

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 DINT Valore ingresso 1 0
IN2 DINT Valore ingresso 2 0
Uscite GT BOOL 1, IN1 > IN2 0
GE BOOL 1, IN1 ≥ IN2 0
EQ BOOL 1, IN1 = IN2 0
LE BOOL 1, IN1 ≤ IN2 0
LT BOOL 1, IN1 < IN2 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 39
Blocchi per il confronto di due valori di ingresso dello stesso tipo
6.4 CMP_R: Comparatore per valori REAL

6.4 CMP_R: Comparatore per valori REAL

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 REAL Valore ingresso 1 0
IN2 REAL Valore ingresso 2 0
Uscite GT BOOL 1, IN1 > IN2 0
GE BOOL 1, IN1 ≥ IN2 0
EQ BOOL 1, IN1 = IN2 0
LT BOOL 1, IN1 < IN2 0
LE BOOL 1, IN1 ≤ IN2 0

Guida ai blocchi elementari di CFC


40 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per il confronto di due valori di ingresso dello stesso tipo
6.5 CMP_T: Comparatore per valori TIME

6.5 CMP_T: Comparatore per valori TIME

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 TIME Valore ingresso 1 0
IN2 TIME Valore ingresso 2 0
Uscite GT BOOL 1, IN1 > IN2 0
GE BOOL 1, IN1 ≥ IN2 0
EQ BOOL 1, IN1 = IN2 0
LE BOOL 1, IN1 ≤ IN2 0
LT BOOL 1, IN1 < IN2 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 41
Blocchi per il confronto di due valori di ingresso dello stesso tipo
6.5 CMP_T: Comparatore per valori TIME

Guida ai blocchi elementari di CFC


42 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati 7
7.1 CONVERT

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:

BY_DW (Pagina 45) Converte BYTE in DWORD


BY_W (Pagina 46) Converte BYTE in WORD
DI_DW (Pagina 47) Converte DINT in DWORD
DI_I (Pagina 48) Converte DINT in INT
DI_R (Pagina 49) Converte DINT in REAL
DW_DI (Pagina 50) Converte DWORD in DINT
DW_R (Pagina 51) Converte DWORD in REAL
DW_W (Pagina 52) Converte DWORD in WORD
I_DI (Pagina 53) Converte INT in DINT
I_DW (Pagina 54) Converte INT in DWORD
I_R (Pagina 55) Converte INT in REAL
I_W (Pagina 56) Converte INT in WORD
R_DI (Pagina 57) Converte REAL in DINT
R_DW (Pagina 58) Converte REAL in DWORD
R_I (Pagina 59) Converte REAL in INT

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 43
Blocchi per la conversione di diversi tipi di dati
7.1 CONVERT

W_BY (Pagina 60) Converte WORD in BYTE


W_DW (Pagina 61) Converte WORD in DWORD
W_I (Pagina 62) Converte WORD in INT

I seguenti blocchi effettuano la conversione di più valori di tipo BOOL in un valore di tipo
BYTE, WORD oppure DWORD:

BO_BY (Pagina 63) Converte BOOL in BYTE, 8 ingressi


BO_W (Pagina 64) Converte BOOL in WORD, 16 ingressi
BO_DW (Pagina 65) Converte BOOL in DWORD, 32 ingressi

I seguenti blocchi effettuano la conversione di un valori di tipo BYTE, WORD oppure


DWORD in piùvalore di tipo BOOL:

BY_BO (Pagina 66) Converte BYTE in BOOL, 8 uscite


W_BO (Pagina 67) Converte WORD in BOOL, 16 uscite
DW_BO (Pagina 68) Converte DWORD in BOOL, 32 uscite

Guida ai blocchi elementari di CFC


44 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.2 BY_DW

7.2 BY_DW

Funzione
Il byte di IN viene copiato sul byte inferiore di OUT, i byte superiori vengono impostati a 0.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN BYTE 0
Uscita OUT DWORD 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 45
Blocchi per la conversione di diversi tipi di dati
7.3 BY_W

7.3 BY_W

Funzione
Il byte di IN viene copiato sul byte inferiore di OUT, i byte superiori vengono impostati a 0.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN BYTE 0
Uscita OUT WORD 0

Guida ai blocchi elementari di CFC


46 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.4 DI_DW

7.4 DI_DW

Funzione
La stringa di bit di IN viene copiata verso OUT.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN DINT Valore di ingresso 0
Uscita OUT DWORD Valore di uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 47
Blocchi per la conversione di diversi tipi di dati
7.5 DI_I

7.5 DI_I

Funzione
La stringa di bit di IN viene interpretata come INT e copiata verso OUT.

Gestione degli errori


Nel caso di valori di IN al di fuori di -32768 … 32767 si ha ENO = 0 e OUT è un valore non
valido.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN DINT Valore di ingresso 0
Uscita OUT INT Valore di uscita 0

Guida ai blocchi elementari di CFC


48 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.6 DI_R

7.6 DI_R

Funzione
Il valore di IN viene convertito in un numero REAL e copiato verso OUT.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN DINT 0
Uscita OUT REAL 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 49
Blocchi per la conversione di diversi tipi di dati
7.7 DW_DI

7.7 DW_DI

Funzione
La stringa di bit di IN viene copiata verso OUT.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN DWORD Valore di ingresso 0
Uscita OUT DINT Valore di uscita 0

Guida ai blocchi elementari di CFC


50 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.8 DW_R

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.

Gestione degli errori


non ha luogo

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN DWORD Valore di ingresso 0
Uscita OUT REAL Valore di uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 51
Blocchi per la conversione di diversi tipi di dati
7.9 DW_W

7.9 DW_W

Funzione
La parola bassa di IN viene copiata verso la parola di OUT.

Gestione degli errori


ENO = 0 con parola alta di IN > 0

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN DWORD Valore di ingresso 0
Uscita OUT WORD Valore di uscita 0

Guida ai blocchi elementari di CFC


52 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.10 I_DI

7.10 I_DI

Funzione
Il valore di IN viene copiato verso OUT.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN INT 0
Uscita OUT DINT 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 53
Blocchi per la conversione di diversi tipi di dati
7.11 I_DW

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.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN INT Valore di ingresso 0
Uscita OUT DWORD Valore di uscita 0

Guida ai blocchi elementari di CFC


54 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.12 I_R

7.12 I_R

Funzione
Il numero intero di IN viene convertito verso OUT.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN INT 0
Uscita OUT REAL 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 55
Blocchi per la conversione di diversi tipi di dati
7.13 I_W

7.13 I_W

Funzione
La stringa di bit di IN viene copiata verso OUT.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN INT Valore di ingresso 0
Uscita OUT WORD Valore di uscita 0

Guida ai blocchi elementari di CFC


56 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.14 R_DI

7.14 R_DI

Funzione
Il numero REAL di IN viene convertito verso OUT.

Gestione degli errori


Se il valore di IN non è compreso tra -2,147483648e+09 e 2,147483647e+09, allora ENO =
0 e OUT è un valore non valido.

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN REAL 0
Uscita OUT DINT 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 57
Blocchi per la conversione di diversi tipi di dati
7.15 R_DW

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.

Gestione degli errori


non ha luogo

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN REAL 0
Uscita OUT DWORD 0

Guida ai blocchi elementari di CFC


58 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.16 R_I

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.

Gestione degli errori


Nel caso in cui il valore di IN non è compreso tra -32768 … 32767 si ha ENO = 0 e OUT è
un valore non valido.

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN REAL 0
Uscita: OUT INT 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 59
Blocchi per la conversione di diversi tipi di dati
7.17 W_BY

7.17 W_BY

Funzione
Il byte inferiore di IN viene copiato verso OUT.

Gestione degli errori


Nel caso in cui il byte superiore > 0, si avrà ENO = 0.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN WORD Valore di ingresso 0
Uscita OUT BYTE Valore di uscita 0

Guida ai blocchi elementari di CFC


60 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.18 W_DW

7.18 W_DW

Funzione
La parola di IN viene copiata nella parola bassa di OUT.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN WORD 0
Uscita OUT DWORD 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 61
Blocchi per la conversione di diversi tipi di dati
7.19 W_I

7.19 W_I

Funzione
La stringa di bit di IN viene copiata verso OUT.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN WORD Valore di ingresso 0
Uscita OUT INT Valore di uscita 0

Guida ai blocchi elementari di CFC


62 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.20 BO_BY

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).

Gestione degli errori


non ha luogo

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN0 BOOL 0
... ...
IN7 BOOL 0
Uscita OUT BYTE 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 63
Blocchi per la conversione di diversi tipi di dati
7.21 BO_W

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).

Gestione degli errori


non ha luogo

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN0 BOOL 0
... ...
IN15 BOOL 0
Uscita OUT WORD 0

Guida ai blocchi elementari di CFC


64 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.22 BO_DW

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).

Gestione degli errori


non ha luogo

Connessioni

Nome Tipo di dati Preimpostazione


Ingressi IN0 BOOL 0
... ...
IN31 BOOL 0
Uscita OUT DWORD 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 65
Blocchi per la conversione di diversi tipi di dati
7.23 BY_BO

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.

Gestione degli errori


Non effettuata

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN BYTE 0
Uscite OUT0 BOOL 0
... ...
OUT7 BOOL 0

Guida ai blocchi elementari di CFC


66 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la conversione di diversi tipi di dati
7.24 W_BO

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.

Gestione degli errori


non ha luogo

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN WORD 0
Uscite OUT0 BOOL 0
... ...
OUT15 BOOL 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 67
Blocchi per la conversione di diversi tipi di dati
7.25 DW_BO

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.

Gestione degli errori


non ha luogo

Connessioni

Nome Tipo di dati Preimpostazione


Ingresso IN DWORD 0
Uscite OUT0 BOOL 0
... ...
OUT31 BOOL 0

Guida ai blocchi elementari di CFC


68 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL 8
8.1 MATH_FP

Blocchi CFC della famiglia "MATH_FP"


In questa famiglia sono implementati i blocchi che consentono di realizzare operazioni
aritmetiche con il tipo di dati REAL.

ADD_R: Addizione di numeri REAL (Pagina 71) Addizione di valori REAL


SUB_R: Sottrazione di numeri REAL (Pagina 72) Sottrazione di valori REAL
MUL_R: Moltiplicazione di numeri REAL (Pagina 73) Moltiplicazione di valori REAL
DIV_R: Divisione di numeri REAL (Pagina 74) Divisione di valori REAL
ABS_R: Valore assoluto di numeri REAL (Pagina 77) Valore assoluto dei valori REAL
EPS_R: Genauigkeit Approximation (Pagina 91) Precisione; approssimazione
NEG_R: Negatore di valori REAL (Pagina 89) Negazione di valori REAL
MAXn_R: Massimo di numeri REAL (Pagina 75) Massimo dei valori REAL
MINn_R: Minimo di numeri REAL (Pagina 76) Minimo dei valori REAL
LIM_R: Limitatore di numeri REAL (Pagina 90) Delimitatore di valori REAL
CADD_R: Addizionatore controllabile di valori REAL Addizionatore comandabile di valori REAL
(Pagina 92)
SQRT: Radice quadrata (Pagina 78) Radice quadrata
EXP: Funzione esponenziale (Pagina 79) Funzione esponenziale
POW10: Potenza a base 10 (Pagina 80) Funzione di potenza alla decima
LN: Logaritmo naturale (Pagina 81) Logaritmo naturale
LOG10: Logaritmo a base 10 (Pagina 82) Logaritmo a base 10
SIN: Funzione trigonometrica seno (Pagina 83) Funzione sinusoidale
COS: Funzione trigonometrica coseno (Pagina 84) Funzione coseno
TAN: Funzione trigonometrica tangente (Pagina 85) Funzione tangente
ASIN: Funzione di arcoseno (Pagina 86) Funzione arcoseno
ACOS: Funzione arcocoseno (Pagina 87) Funzione arcosinusoidale
ATAN: Funzione arcotangente (Pagina 88) Funzione arcotangente
POWXY: Funzione di potenza generale (Pagina 93) Funzione di potenza generale
SAMP_AVE: Valore medio in virgola mobile Valore medio in virgola mobile
(Pagina 94)

Nota
Il campo valori dei numeri reali è:
-3,40282e^+38 ... -1,755e^-38 ... 0 ... 1,755e^-38 ... 3,40282e^+38

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 69
Blocchi aritmetici del tipo di dati REAL
8.1 MATH_FP

Guida ai blocchi elementari di CFC


70 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.2 ADD_R: Addizione di numeri REAL

8.2 ADD_R: Addizione di numeri REAL

Funzione
Questo blocco effettua la somma degli ingressi e fornisce il risultato in uscita.
OUT = IN1 + IN2

Gestione degli errori


ENO = 0 in caso di overflow oppure overflow negativo

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 REAL Addendo 1 0.0
IN2 REAL Addendo 2 0.0
Uscita OUT REAL Somma 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 71
Blocchi aritmetici del tipo di dati REAL
8.3 SUB_R: Sottrazione di numeri REAL

8.3 SUB_R: Sottrazione di numeri REAL

Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 - IN2

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 REAL Minuendo 0.0
IN2 REAL Sottraendo 0.0
Uscita OUT REAL Differenza 0.0

Guida ai blocchi elementari di CFC


72 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.4 MUL_R: Moltiplicazione di numeri REAL

8.4 MUL_R: Moltiplicazione di numeri REAL

Funzione
Questo blocco moltiplica gli ingressi e fornisce il prodotto in uscita.
OUT = IN1 * IN2

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 REAL Moltiplicando 0.0
IN2 REAL Moltiplicatore 0.0
Uscita OUT REAL Prodotto 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 73
Blocchi aritmetici del tipo di dati REAL
8.5 DIV_R: Divisione di numeri REAL

8.5 DIV_R: Divisione di numeri REAL

Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 / IN2

Gestione degli errori


In caso di divisione per 0, overflow ed overflow negativo, ENO riceve il valore 0.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 REAL Dividendo 0.0
IN2 REAL Divisore 0.0
Uscita OUT REAL Quoziente 0.0

Guida ai blocchi elementari di CFC


74 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.6 MAXn_R: Massimo di numeri REAL

8.6 MAXn_R: Massimo di numeri REAL

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 REAL Valore ingresso 1 0.0
...
INn REAL Valore ingresso n 0.0
Uscita OUT REAL Valore massimo 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 75
Blocchi aritmetici del tipo di dati REAL
8.7 MINn_R: Minimo di numeri REAL

8.7 MINn_R: Minimo di numeri REAL

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 REAL Valore ingresso 1 0.0
...
INn REAL Valore ingresso n 0.0
Uscita OUT REAL Valore massimo 0.0

Guida ai blocchi elementari di CFC


76 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.8 ABS_R: Valore assoluto di numeri REAL

8.8 ABS_R: Valore assoluto di numeri REAL

Funzione
Questo blocco fornisce in uscita il valore assoluto dell'ingresso.
OUT = | IN |

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN REAL Valore di ingresso 0.0
Uscita OUT REAL Valore assoluto 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 77
Blocchi aritmetici del tipo di dati REAL
8.9 SQRT: Radice quadrata

8.9 SQRT: Radice quadrata

Funzione
Questo blocco calcola la radice quadrata dell'ingresso e fornisce il risultato in uscita.
OUT = SQRT(IN)

Gestione degli errori


ENO = 0 e OUT = 0, se IN < 0.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Radicando 0.0
Uscita OUT REAL Radice 0.0

Guida ai blocchi elementari di CFC


78 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.10 EXP: Funzione esponenziale

8.10 EXP: Funzione esponenziale

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

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo
ENO = 0 e OUT = 0, se IN < 0.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Esponente 0.0
Uscita OUT REAL Funzione esponenziale 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 79
Blocchi aritmetici del tipo di dati REAL
8.11 POW10: Potenza a base 10

8.11 POW10: Potenza a base 10

Funzione
Questo blocco calcola la funzione di potenza 10IN dell'ingresso ed emette il risultato
sull'uscita.
OUT = 10^IN

Gestione degli errori


ENO = 0 se IN1 < -37.9 e IN1 > 38.5

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Esponente 0.0
Uscita OUT REAL Pot. base 10 0.0

Guida ai blocchi elementari di CFC


80 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.12 LN: Logaritmo naturale

8.12 LN: Logaritmo naturale

Funzione
Questo blocco calcola il logaritmo naturale dell'ingresso e fornisce il risultato in uscita.
OUT = LN (IN)
L'ingresso IN deve essere positivo.

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo
ENO = 0 e OUT = 0, se IN < 0.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Argomento 0.0
Uscita OUT REAL nat. Logaritmo 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 81
Blocchi aritmetici del tipo di dati REAL
8.13 LOG10: Logaritmo a base 10

8.13 LOG10: Logaritmo a base 10

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.

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo
ENO = 0 e OUT = 0, se IN < 0.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Argomento 0.0
Uscita OUT REAL Logaritmo 0.0

Guida ai blocchi elementari di CFC


82 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.14 SIN: Funzione trigonometrica seno

8.14 SIN: Funzione trigonometrica seno

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

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Argomento 0.0
Uscita OUT REAL Seno 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 83
Blocchi aritmetici del tipo di dati REAL
8.15 COS: Funzione trigonometrica coseno

8.15 COS: Funzione trigonometrica coseno

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

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Argomento 0.0
Uscita OUT REAL Coseno 0.0

Guida ai blocchi elementari di CFC


84 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.16 TAN: Funzione trigonometrica tangente

8.16 TAN: Funzione trigonometrica tangente

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

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Argomento 0.0
Uscita OUT REAL Tangente 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 85
Blocchi aritmetici del tipo di dati REAL
8.17 ASIN: Funzione di arcoseno

8.17 ASIN: Funzione di arcoseno

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

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Argomento 0.0
Uscita OUT REAL Arcoseno 0.0

Guida ai blocchi elementari di CFC


86 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.18 ACOS: Funzione arcocoseno

8.18 ACOS: Funzione arcocoseno

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)

Gestione degli errori


ENO = 0 se IN < -1 --> OUT = 3.14..
ENO = 0 se IN > 1 --> OUT = 0

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Argomento 0.0
Uscita OUT REAL Arcocoseno 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 87
Blocchi aritmetici del tipo di dati REAL
8.19 ATAN: Funzione arcotangente

8.19 ATAN: Funzione arcotangente

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

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Argomento 0.0
Uscita OUT REAL Arcotangente 0.0

Guida ai blocchi elementari di CFC


88 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.20 NEG_R: Negatore di valori REAL

8.20 NEG_R: Negatore di valori REAL

Funzione
Questo blocco fornisce in uscita il valore di ingresso con segno commutato.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN REAL Valore ingresso 0.0
Uscita OUT REAL Valore di uscita 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 89
Blocchi aritmetici del tipo di dati REAL
8.21 LIM_R: Limitatore di numeri REAL

8.21 LIM_R: Limitatore di numeri REAL

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN REAL Valore ingresso 0.0
MIN REAL Limite inferiore -100.0
MAX REAL Limite superiore 100.0
Uscite OUT REAL Valore di uscita 0
OUTU BOOL Superamento limite superiore 0
OUTL BOOL Superamento limite inferiore 0

Guida ai blocchi elementari di CFC


90 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.22 EPS_R: Genauigkeit Approximation

8.22 EPS_R: Genauigkeit Approximation

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN REAL Valore ingresso 0.0
INTERVAL REAL Limite di intervallo 0.0
Uscite QA BOOL Merker di validità 0
QN BOOL Merker di validità invertito 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 91
Blocchi aritmetici del tipo di dati REAL
8.23 CADD_R: Addizionatore controllabile di valori REAL

8.23 CADD_R: Addizionatore controllabile di valori REAL

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.

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN REAL Addendo 0.0
RI BOOL Resetta 0
SI BOOL Imposta 0
CI BOOL Conta 0
Uscita OUT REAL Somma 0.0

Guida ai blocchi elementari di CFC


92 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati REAL
8.24 POWXY: Funzione di potenza generale

8.24 POWXY: Funzione di potenza generale

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

Gestione degli errori


In presenza di overflow o underflow, M7 commuta allo stato STOP.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 REAL Base 0.0
IN2 REAL Esponente 0.0
Uscita OUT REAL Valore di uscita 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 93
Blocchi aritmetici del tipo di dati REAL
8.25 SAMP_AVE: Valore medio in virgola mobile

8.25 SAMP_AVE: Valore medio in virgola mobile

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN REAL Valore ingresso 0.0
N INT Quantità dei valori di ingresso 1
considerati
Uscita OUT REAL Valore medio 0.0

Guida ai blocchi elementari di CFC


94 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT 9
9.1 MATH_INT

Blocchi CFC della famiglia "MATH_INT"


In questa famiglia sono implementati i seguenti blocchi che consentono di realizzare
operazioni aritmetiche con il tipo di dati INT e DINT.

ADD_I: Addizione di valori INT (Pagina 97) Addizione di valori INT


ADD_DI: Addizione di valori DINT (Pagina 109) Addizione di valori DINT
SUB_I: Sottrazione di valori INT (Pagina 98) Sottrazione di valori INT
SUB_DI: Sottrazione di valori DINT (Pagina 110) Sottrazione di valori DINT
MUL_I: Moltiplicazione di valori INT (Pagina 99) Moltiplicazione di valori INT
MUL_DI: Moltiplicazione di DINT (Pagina 111) Moltiplicazione di valori DINT
DIV_I: Divisione di valori INT (Pagina 100) Divisione di valori INT
DIV_DI: Divisione di valori DINT (Pagina 112) Divisione di valori DINT
ABS_I: Valore assoluto di valori INT (Pagina 104) Valore assoluto di valori INT
ABS_DI: Valore assoluto di valori DINT (Pagina 116) Valore assoluto di valori DINT
EPS_I: Genauigkeit Approximation von INT-Werten Precisione; approssimazione di valori INT
(Pagina 107)
EPS_DI: Genauigkeit Approximation von DINT- Precisione; approssimazione di valori DINT
Werten (Pagina 119)
NEG_I: Negatore di valori INT (Pagina 105) Negatore di valori INT
NEG_DI: Negatore di valori DINT (Pagina 117) Negatore di valori DINT
MOD_I: Funzione modulo di valori INT (Pagina 101) Funzione modulo di valori INT
MOD_DI: Funzione modulo di valori DINT Funzione modulo di valori DINT
(Pagina 113)
MAXn_I: Massimo di valori INT (Pagina 102) Massimo di valori INT
MAXn_DI: Massimo di valori DINT (Pagina 114) Massimo di valori DINT
MINn_I: Minimo di valori INT (Pagina 103) Minimo di valori INT
MINn_DI: Minimo di valori DINT (Pagina 115) Minimo di valori DINT
LIM_I: Limitatore di valori INT (Pagina 106) Limitatore di valori INT
LIM_DI: Limitatore di valori DINT (Pagina 118) Limitatore di valori DINT
CADD_I: Addizionatore controllabile di valori INT Addizionatore controllabile di valori INT
(Pagina 108)
CADD_DI: Addizionatore controllabile di valori DINT Addizionatore controllabile di valori DINT
(Pagina 120)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 95
Blocchi aritmetici del tipo di dati INT e DINT
9.1 MATH_INT

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

Guida ai blocchi elementari di CFC


96 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.2 ADD_I: Addizione di valori INT

9.2 ADD_I: Addizione di valori INT

Funzione
Questo blocco effettua la somma degli ingressi e fornisce il risultato in uscita.
OUT = IN1 + IN2

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 INT Addendo 1 0
IN2 INT Addendo 2 0
Uscita OUT INT Somma 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 97
Blocchi aritmetici del tipo di dati INT e DINT
9.3 SUB_I: Sottrazione di valori INT

9.3 SUB_I: Sottrazione di valori INT

Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 - IN2

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 INT Minuendo 0
IN2 INT Sottraendo 0
Uscita OUT INT Differenza 0

Guida ai blocchi elementari di CFC


98 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.4 MUL_I: Moltiplicazione di valori INT

9.4 MUL_I: Moltiplicazione di valori INT

Funzione
Questo blocco moltiplica gli ingressi e fornisce il prodotto in uscita.
OUT = IN1 * IN2

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 INT Moltiplicando 0
IN2 INT Moltiplicatore 0
Uscita OUT INT Prodotto 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 99
Blocchi aritmetici del tipo di dati INT e DINT
9.5 DIV_I: Divisione di valori INT

9.5 DIV_I: Divisione di valori INT

Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 / IN2

Gestione degli errori


ENO = 0 nel caso di una divisione per 0 e nel caso di –32768 diviso –1.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 INT Dividendo 0
IN2 INT Divisore 0
Uscita OUT INT Quoziente 0

Guida ai blocchi elementari di CFC


100 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.6 MOD_I: Funzione modulo di valori INT

9.6 MOD_I: Funzione modulo di valori INT

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.

Gestione degli errori


ENO = 0 con divisione per 0.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 INT Dividendo 0
IN2 INT Divisore 1
Uscita OUT INT Resto della divisione 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 101
Blocchi aritmetici del tipo di dati INT e DINT
9.7 MAXn_I: Massimo di valori INT

9.7 MAXn_I: Massimo di valori INT

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 INT Valore ingresso 1 0
...
INn INT Valore ingresso n 0
Uscita OUT INT Valore massimo 0

Guida ai blocchi elementari di CFC


102 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.8 MINn_I: Minimo di valori INT

9.8 MINn_I: Minimo di valori INT

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 INT Valore ingresso 1 0
...
INn INT Valore ingresso n 0
Uscita OUT INT Valore minimo 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 103
Blocchi aritmetici del tipo di dati INT e DINT
9.9 ABS_I: Valore assoluto di valori INT

9.9 ABS_I: Valore assoluto di valori INT

Funzione
Questo blocco fornisce in uscita la grandezza assoluta dell'ingresso.
OUT = | IN |

Gestione degli errori


ENO = 0 se IN = -32 768

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN INT Valore di ingresso 0
Uscita OUT INT Grandezza assoluta 0

Guida ai blocchi elementari di CFC


104 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.10 NEG_I: Negatore di valori INT

9.10 NEG_I: Negatore di valori INT

Funzione
Questo blocco fornisce in uscita il valore di ingresso con segno commutato.

Gestione degli errori


ENO = 0 se IN = -32 768

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN INT Valore ingresso 0
Uscita OUT INT Valore di uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 105
Blocchi aritmetici del tipo di dati INT e DINT
9.11 LIM_I: Limitatore di valori INT

9.11 LIM_I: Limitatore di valori INT

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

Gestione degli errori


ENO = 0 se MIN > MAX --> OUT = MAX; OUTU = OUTL = 1

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi MAX INT Limite superiore 0
IN INT Valore ingresso 0
MIN INT Limite inferiore 0
Uscite OUTU BOOL Superamento del limite superiore 0
OUTL BOOL Superamento del limite inferiore 0
OUT INT Valore di uscita 0

Guida ai blocchi elementari di CFC


106 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.12 EPS_I: Genauigkeit Approximation von INT-Werten

9.12 EPS_I: Genauigkeit Approximation von INT-Werten

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.

Gestione degli errori


ENO = 0 se IN = -32 768

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN INT Valore ingresso 0
INTERVAL INT Limite dell'intervallo 0
Uscite QA BOOL Merker di validità 0
QN BOOL Merker di validità invertito 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 107
Blocchi aritmetici del tipo di dati INT e DINT
9.13 CADD_I: Addizionatore controllabile di valori INT

9.13 CADD_I: Addizionatore controllabile di valori INT

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.

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo

Tabella della 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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN INT Addendo 0
RI BOOL Resetta 0
SI BOOL Imposta 0
CI BOOL Conta 0
Uscita OUT INT Somma 0

Guida ai blocchi elementari di CFC


108 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.14 ADD_DI: Addizione di valori DINT

9.14 ADD_DI: Addizione di valori DINT

Funzione
Questo blocco effettua la somma degli ingressi e fornisce il risultato in uscita.
OUT = IN1 + IN2

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 DINT Addendo 1 0
IN2 DINT Addendo 2 0
Uscita OUT DINT Somma 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 109
Blocchi aritmetici del tipo di dati INT e DINT
9.15 SUB_DI: Sottrazione di valori DINT

9.15 SUB_DI: Sottrazione di valori DINT

Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 - IN2

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 DINT Minuendo 0
IN2 DINT Sottraendo 0
Uscita OUT DINT Differenza 0

Guida ai blocchi elementari di CFC


110 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.16 MUL_DI: Moltiplicazione di DINT

9.16 MUL_DI: Moltiplicazione di DINT

Funzione
Questo blocco moltiplica gli ingressi e fornisce il prodotto in uscita.
OUT = IN1 * IN2

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 DINT Moltiplicando 0
IN2 DINT Moltiplicatore 0
Uscita OUT DINT Prodotto 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 111
Blocchi aritmetici del tipo di dati INT e DINT
9.17 DIV_DI: Divisione di valori DINT

9.17 DIV_DI: Divisione di valori DINT

Funzione
Questo blocco sottrae l'ingresso IN2 dall'ingresso IN1 e fornisce la differenza in uscita.
OUT = IN1 / IN2

Gestione degli errori


ENO = 0 nel caso di una divisione per 0 e nel caso di –2147483648 diviso –1.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 DINT Dividendo 0
IN2 DINT Divisore 0
Uscita OUT DINT Quoziente 0

Guida ai blocchi elementari di CFC


112 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.18 MOD_DI: Funzione modulo di valori DINT

9.18 MOD_DI: Funzione modulo di valori DINT

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.

Gestione degli errori


ENO = 0 con divisione per 0.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 DINT Dividendo 0
IN2 DINT Divisore 0
Uscita OUT DINT Resto della divisione 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 113
Blocchi aritmetici del tipo di dati INT e DINT
9.19 MAXn_DI: Massimo di valori DINT

9.19 MAXn_DI: Massimo di valori DINT

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 DINT Valore ingresso 1 0
...
INn DINT Valore ingresso n 0
Uscita OUT DINT Valore massimo 0

Guida ai blocchi elementari di CFC


114 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.20 MINn_DI: Minimo di valori DINT

9.20 MINn_DI: Minimo di valori DINT

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN1 DINT Valore ingresso 1 0
...
INn DINT Valore ingresso n 0
Uscita OUT DINT Valore minimo 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 115
Blocchi aritmetici del tipo di dati INT e DINT
9.21 ABS_DI: Valore assoluto di valori DINT

9.21 ABS_DI: Valore assoluto di valori DINT

Funzione
Questo blocco fornisce in uscita il valore assoluto dell'ingresso.
OUT = | IN |

Gestione degli errori


ENO = 0 con IN = -2 147 483 648 (numero negativo più piccolo)

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN DINT Valore di ingresso 0
Uscita OUT DINT Valore assoluto 0

Guida ai blocchi elementari di CFC


116 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.22 NEG_DI: Negatore di valori DINT

9.22 NEG_DI: Negatore di valori DINT

Funzione
Questo blocco fornisce in uscita il valore di ingresso con segno commutato.

Gestione degli errori


ENO = 0 con IN = -2 147 483 648

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingresso IN DINT Valore ingresso 0
Uscita OUT DINT Valore di uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 117
Blocchi aritmetici del tipo di dati INT e DINT
9.23 LIM_DI: Limitatore di valori DINT

9.23 LIM_DI: Limitatore di valori DINT

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

Gestione degli errori


ENO = 0 se MIN > MAX --> OUT = MAX; OUTU = OUTL = 1

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi MAX DINT Limite superiore 0
IN DINT Valore ingresso 0
MIN DINT Limite inferiore 0
Uscite OUTU BOOL Superamento del limite 0
superiore
OUTL BOOL Superamento del limite 0
inferiore
OUT DINT Valore di uscita 0

Guida ai blocchi elementari di CFC


118 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi aritmetici del tipo di dati INT e DINT
9.24 EPS_DI: Genauigkeit Approximation von DINT-Werten

9.24 EPS_DI: Genauigkeit Approximation von DINT-Werten

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.

Gestione degli errori


ENO = 0 con IN = -2 147 483 648

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi IN DINT Valore ingresso 0
INTERVAL DINT Limite dell'intervallo 0
Uscite QA BOOL Merker di validità 0
QN BOOL Merker di validità 0
invertito

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 119
Blocchi aritmetici del tipo di dati INT e DINT
9.25 CADD_DI: Addizionatore controllabile di valori DINT

9.25 CADD_DI: Addizionatore controllabile di valori DINT

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.

Gestione degli errori


ENO = 0 in caso di overflow e overflow negativo

Tabella della 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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN DINT Addendo 0
RI BOOL Resetta 0
SI BOOL Imposta 0
CI BOOL Conta 0
Uscita OUT DINT Somma 0

Guida ai blocchi elementari di CFC


120 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi flip-flop 10
10.1 FLIPFLOP

Blocchi CFC della famiglia "FLIPFLOP"


In questa famiglia sono implementati i seguenti blocchi flip-flop:

JK_FF: JK-FlipFlop (Pagina 122) JK-FlipFlop


RS_FF: RS-FlipFlop R resettaggio dominante RS-FlipFlop R resettaggio dominante
(Pagina 123)
SR_FF: RS-FlipFlop S impostazione dominante RS-FlipFlop S impostazione dominante
(Pagina 124)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 121
Blocchi flip-flop
10.2 JK_FF: JK-FlipFlop

10.2 JK_FF: JK-FlipFlop

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

Nome Tipo di dati Commento Preimpostazione


Ingressi J BOOL Imposta 0
K BOOL Resetta 0
Uscite BOOL Uscita 0

BOOL Uscita negata 1

Guida ai blocchi elementari di CFC


122 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi flip-flop
10.3 RS_FF: RS-FlipFlop R resettaggio dominante

10.3 RS_FF: RS-FlipFlop R resettaggio dominante

Funzione

R S
0 0

0 1 1 0
1 0 0 1
1 1 0 1

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi R BOOL Resetta 0
S BOOL Imposta 0
Uscite BOOL Uscita 0

BOOL Uscita negata 1

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 123
Blocchi flip-flop
10.4 SR_FF: RS-FlipFlop S impostazione dominante

10.4 SR_FF: RS-FlipFlop S impostazione dominante

Funzione

R S
0 0

0 1 1 0
1 0 0 1
1 1 1 0

Connessioni

Nome Tipo di dati Commento Preimpostazione


Ingressi R BOOL Resetta 0
S BOOL Imposta 0
Uscite BOOL Uscita 0

BOOL Uscita negata 1

Guida ai blocchi elementari di CFC


124 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi shift 11
11.1 SHIFT

Blocchi CFC della famiglia "SHIFT"


Questa famiglia comprende i blocchi che fanno scorrere o ruotare bit per bit il valore di
ingresso e emettono il risultato all’uscita.

SHL_W: Scorrimento WORD verso sinistra Scorrimento WORD verso sinistra


(Pagina 126)
SHL_DW: Scorrimento DWORD verso sinistra Scorrimento DWORD verso sinistra
(Pagina 127)
SHR_W: Scorrimento WORD verso destra Scorrimento WORD verso destra
(Pagina 128)
SHR_DW: Scorrimento DWORD verso destra Scorrimento DWORD verso destra
(Pagina 129)
ROL_W: Rotazione WORD verso sinistra Rotazione WORD verso sinistra
(Pagina 130)
ROL_DW: Rotazione DWORD verso sinistra Rotazione DWORD verso sinistra
(Pagina 131)
ROR_W: Rotazione WORD verso destra Rotazione WORD verso destra
(Pagina 132)
ROR_DW: Rotazione DWORD verso destra Rotazione DWORD verso destra
(Pagina 133)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 125
Blocchi shift
11.2 SHL_W: Scorrimento WORD verso sinistra

11.2 SHL_W: Scorrimento WORD verso sinistra

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN WORD Valore di ingresso 0
N WORD Numero delle posizioni di 0
scorrimento
Uscita OUT WORD Uscita 0

Guida ai blocchi elementari di CFC


126 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi shift
11.3 SHL_DW: Scorrimento DWORD verso sinistra

11.3 SHL_DW: Scorrimento DWORD verso sinistra

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN DWORD Valore di ingresso 0
N WORD Numero delle posizioni di 0
scorrimento
Uscita OUT DWORD Uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 127
Blocchi shift
11.4 SHR_W: Scorrimento WORD verso destra

11.4 SHR_W: Scorrimento WORD verso destra

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN WORD Valore di ingresso 0
N WORD Numero delle posizioni di 0
scorrimento
Uscita OUT WORD Uscita 0

Guida ai blocchi elementari di CFC


128 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi shift
11.5 SHR_DW: Scorrimento DWORD verso destra

11.5 SHR_DW: Scorrimento DWORD verso destra

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN DWORD Valore di ingresso 0
N WORD Numero delle posizioni di 0
scorrimento
Uscita OUT DWORD Uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 129
Blocchi shift
11.6 ROL_W: Rotazione WORD verso sinistra

11.6 ROL_W: Rotazione WORD verso sinistra

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN WORD Valore di ingresso 0
N WORD Numero rotazioni 0
Uscita OUT WORD Uscita 0

Guida ai blocchi elementari di CFC


130 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi shift
11.7 ROL_DW: Rotazione DWORD verso sinistra

11.7 ROL_DW: Rotazione DWORD verso sinistra

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN DWORD Valore di ingresso 0
N WORD Numero rotazioni 0
Uscita OUT DWORD Uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 131
Blocchi shift
11.8 ROR_W: Rotazione WORD verso destra

11.8 ROR_W: Rotazione WORD verso destra

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN WORD Valore di ingresso 0
N WORD Numero rotazioni 0
Uscita OUT WORD Uscita 0

Guida ai blocchi elementari di CFC


132 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi shift
11.9 ROR_DW: Rotazione DWORD verso destra

11.9 ROR_DW: Rotazione DWORD verso destra

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

Nome Tipo di dati Commento Preimpostazione


Ingressi IN DWORD Valore di ingresso 0
N WORD Numero rotazioni 0
Uscita OUT DWORD Uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 133
Blocchi shift
11.9 ROR_DW: Rotazione DWORD verso destra

Guida ai blocchi elementari di CFC


134 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi multiplex 12
12.1 MULTIPLX

Blocchi CFC della famiglia "MULTIPLX"


In questa famiglia sono implementati i seguenti blocchi che, in base al valore di un
determinato ingresso, emettono il valore di uno degli altri ingressi all’uscita.

MUXn_I: Multiplexer 1 da n per valori INT Multiplexer 1 da n per valori INT (n = 2, 4, 8)


(Pagina 136)
MUXn_DI: Multiplexer 1 aus n für DINT-Werte Multiplexer 1 da n per valori DINT (n = 2, 4, 8)
(Pagina 137)
MUXn_R: Multiplexer 1 aus n für REAL-Werte Multiplexer 1 da n per valori REAL (n = 2, 4, 8)
(Pagina 138)
MUXn_BO: Multiplexer 1 aus n für BOOL-Werte Multiplexer 1 da n per valori BOOL (n = 2, 4, 8)
(Pagina 139)
SEL_BO: Multiplexer 1 da 2 per valori BOOL Multiplexer 1 da 2 per valori BOOL
(Pagina 140)
SEL_R: Multiplexer 1 da 2 per valori REAL Multiplexer 1 da 2 per valori REAL
(Pagina 141)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 135
Blocchi multiplex
12.2 MUXn_I: Multiplexer 1 da n per valori INT

12.2 MUXn_I: Multiplexer 1 da n per valori INT

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.

Gestione degli errori


ENO = 0 e OUT = 0, se k > (n-1) oppure k < 0.

Tabella delle funzioni

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

Nome Tipo di dati Commento Preimpostazione


Ingressi K INT Ingresso selez. 0
IN0 INT Valore 1 0
... ...
INm (n-1) INT Valore n 0
Uscita OUT INT Uscita 0

Guida ai blocchi elementari di CFC


136 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi multiplex
12.3 MUXn_DI: Multiplexer 1 aus n für DINT-Werte

12.3 MUXn_DI: Multiplexer 1 aus n für DINT-Werte

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.

Gestione degli errori


ENO = 0 e OUT = 0, se k > (n-1) oppure k < 0.

Tabella delle funzioni

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

Nome Tipo di dati Commento Preimpostazione


Ingressi K INT Ingresso selez. 0
IN0 DINT Valore 1 0
... ...
INm (n-1) DINT Valore n 0
Uscita OUT DINT Uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 137
Blocchi multiplex
12.4 MUXn_R: Multiplexer 1 aus n für REAL-Werte

12.4 MUXn_R: Multiplexer 1 aus n für REAL-Werte

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.

Gestione degli errori


ENO = 0 e OUT = 0, se k > (n-1) oppure k < 0.

Tabella delle funzioni

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

Nome Tipo di dati Commento Preimpostazione


Ingressi K INT Ingresso selez. 0
IN1 REAL Valore 1 0
... ...
INm REAL Valore m (m=n-1) 0
Uscita OUT REAL Uscita 0

Guida ai blocchi elementari di CFC


138 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi multiplex
12.5 MUXn_BO: Multiplexer 1 aus n für BOOL-Werte

12.5 MUXn_BO: Multiplexer 1 aus n für BOOL-Werte

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.

Gestione degli errori


ENO = 0 e OUT = 0, se k > (n-1) oppure k < 0.

Tabella delle funzioni

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

Nome Tipo di dati Commento Preimpostazione


Ingressi K INT Ingresso selez. 0
IN0 BOOL Valore 1 0
... ...
INm (n-1) BOOL Valore n 0
Uscita OUT BOOL Uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 139
Blocchi multiplex
12.6 SEL_BO: Multiplexer 1 da 2 per valori BOOL

12.6 SEL_BO: Multiplexer 1 da 2 per valori BOOL

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

Nome Tipo di dati Preimpostazione


Ingressi K BOOL 0
IN0 BOOL 0
IN1 BOOL 0
Uscita OUT BOOL 0

Guida ai blocchi elementari di CFC


140 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi multiplex
12.7 SEL_R: Multiplexer 1 da 2 per valori REAL

12.7 SEL_R: Multiplexer 1 da 2 per valori REAL

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

Nome Tipo di dati Preimpostazione


Ingressi K BOOL 0
IN0 REAL 0.0
IN1 REAL 0.0
Uscita OUT REAL 0.0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 141
Blocchi multiplex
12.7 SEL_R: Multiplexer 1 da 2 per valori REAL

Guida ai blocchi elementari di CFC


142 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di conteggio 13
13.1 COUNTER

Blocchi CFC della famiglia "COUNTER"


In questa famiglia sono inclusi i seguenti blocchi contatore:

CTU: Contatore in avanti (Pagina 144) Contatore in avanti


CTD: Contatore all’indietro (Pagina 146) Contatore all’indietro
CTUD: Contatore in avanti/all’indietro Contatore in avanti/all’indietro
(Pagina 147)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 143
Blocchi di conteggio
13.2 CTU: Contatore in avanti

13.2 CTU: Contatore in avanti

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

Nome Tipo di dati Commento Preimpostazione


Ingressi CU BOOL Impulso in avanti 0
R BOOL Resetta 0
S BOOL Imposta (carico) 0
PV INT Valore di carico 1000
Uscite Q BOOL Overflow 0
CV INT Stato contatore 0

Guida ai blocchi elementari di CFC


144 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di conteggio
13.2 CTU: Contatore in avanti

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.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 145
Blocchi di conteggio
13.3 CTD: Contatore all’indietro

13.3 CTD: Contatore all’indietro

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

Nome Tipo di dati Commento Preimpostazione


Ingressi CD BOOL Impulso all’indietro 0
R BOOL Resetta 0
S BOOL Imposta (carico) 0
PV INT Valore di carico 1000
Uscite Q BOOL Overflow negativo 0
CV INT Stato contatore 0

Guida ai blocchi elementari di CFC


146 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di conteggio
13.4 CTUD: Contatore in avanti/all’indietro

13.4 CTUD: Contatore in avanti/all’indietro

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

Nome Tipo di dati Commento Preimpostazione


Ingressi CU BOOL Impulso in avanti 0
CD BOOL Impulso all’indietro 0
R BOOL Resetta 0
R BOOL Imposta (carico) 0
PV INT Valore di carico 1000
Uscite QU BOOL Contatore al limite superiore 0
QD BOOL Contatore al limite inferiore 0
CV INT Stato contatore 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 147
Blocchi di conteggio
13.4 CTUD: Contatore in avanti/all’indietro

Guida ai blocchi elementari di CFC


148 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la generazione o l'elaborazione di impulsi 14
14.1 IMPULS

Blocchi CFC della famiglia "IMPULS"


Questa famiglia contiene i seguenti blocchi per l'elaborazione degli impulsi:

TIMER_P: generatore di impulsi (Pagina 150) generatore di impulsi


R_TRIG: Riconoscimento del fronte di salita Riconoscimento del fronte di salita
(Pagina 153)
F_TRIG: Riconoscimento del fronte di discesa Riconoscimento del fronte di discesa
(Pagina 154)
AFP: Temporizzatore (Pagina 155) Temporizzatore

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 149
Blocchi per la generazione o l'elaborazione di impulsi
14.2 TIMER_P: generatore di impulsi

14.2 TIMER_P: generatore di impulsi

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

MODE Modo di funzionamento


0 Avvia il temporizzatore come impulso
1 Avvia il temporizzatore come impulso prolungato
2 Avvia il temporizzatore come ritardo all'inserzione
3 Avvia il temporizzatore come ritardo all'inserzione con memoria
4 Avvia il temporizzatore come ritardo alla disinserzione

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

MODE=1 impulso prolungato

Guida ai blocchi elementari di CFC


150 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la generazione o l'elaborazione di impulsi
14.2 TIMER_P: generatore di impulsi

MODE = 2 ritardo all'inserzione

MODE = 3 ritardo all'inserzione con memoria

MODE = 4 ritardo alla disinserzione

Durante l'inserimento dei valori osservare quanto segue:


● Il tempo di campionamento (SAMPLE_T) deve essere inferiore al tempo di inserzione
(TIME0).
● La distanza tra TIME0 e SAMPLE_T non deve superare 10^7.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 151
Blocchi per la generazione o l'elaborazione di impulsi
14.2 TIMER_P: generatore di impulsi

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.

Nome Tipo di dati Commento Preimpostazione


Ingressi SAMPLE_T REAL Tempo di campionamento del 1.0
task in s
TIME0 REAL Tempo in s 0.0
MODE INT Modo di funzionamento 0
(vedere sopra)
RESET BOOL Resetta 0
I0 BOOL Impulso di ingresso 0
Uscite QERR BOOL Errore 1
Q0 BOOL Impulso di uscita 0
PTIME REAL Tempo rimanente 0.0

Guida ai blocchi elementari di CFC


152 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la generazione o l'elaborazione di impulsi
14.3 R_TRIG: Riconoscimento del fronte di salita

14.3 R_TRIG: Riconoscimento del fronte di salita

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

Nome Tipo di dati Commento Preimpostazione


Ingresso CLK BOOL Impulso di ingresso 0
Uscita Q BOOL Impulso di uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 153
Blocchi per la generazione o l'elaborazione di impulsi
14.4 F_TRIG: Riconoscimento del fronte di discesa

14.4 F_TRIG: Riconoscimento del fronte di discesa

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

Nome Tipo di dati Commento Preimpostazione


Ingresso CLK BOOL Impulso di ingresso 0
Uscita Q BOOL Impulso di uscita 0

Guida ai blocchi elementari di CFC


154 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la generazione o l'elaborazione di impulsi
14.5 AFP: Temporizzatore

14.5 AFP: Temporizzatore

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

Nome Tipo di dati Commento Preimpostazione


Ingressi SAMPLE_T REAL Tempo di campionamento del 1.0
task in s
T0 TIME Durata della pausa impulso T#0ms
T1 TIME Durata dell’impulso T#0ms
Uscita Q BOOL Impulso di uscita 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 155
Blocchi per la generazione o l'elaborazione di impulsi
14.5 AFP: Temporizzatore

Guida ai blocchi elementari di CFC


156 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la rilevazione o l’elaborazione di momenti
e intervalli 15
15.1 TIME

Blocchi CFC della famiglia


Questa famiglia riunisce i seguenti blocchi che mettono a disposizione le funzioni di
temporizzazione.

TIME: Misurazione del tempo di esecuzione Misurazione del tempo di esecuzione


(Pagina 158)
TIME_BEG: Lettura dell'orario attuale Lettura dell'orario attuale
(Pagina 159)
TIME_END: Confronto del tempo di ingresso con Confronto del tempo di ingresso con il tempo
il tempo attuale (Pagina 160) attuale

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 157
Blocchi per la rilevazione o l’elaborazione di momenti e intervalli
15.2 TIME: Misurazione del tempo di esecuzione

15.2 TIME: Misurazione del tempo di esecuzione

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

Nome Tipo di dati Commento Preimpostazione


Ingressi DIFF BOOL Differenza on 1
Uscita OUT TIME Tempo

Guida ai blocchi elementari di CFC


158 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per la rilevazione o l’elaborazione di momenti e intervalli
15.3 TIME_BEG: Lettura dell'orario attuale

15.3 TIME_BEG: Lettura dell'orario attuale

Funzione
Questo blocco fornisce all’uscita TM l'orario di sistema in cui viene richiamato il blocco.

Connessioni

Nome Tipo di dati Commento Preimpostazione


Uscita TM TIME Orario attuale T#0ms

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 159
Blocchi per la rilevazione o l’elaborazione di momenti e intervalli
15.4 TIME_END: Confronto del tempo di ingresso con il tempo attuale

15.4 TIME_END: Confronto del tempo di ingresso con il tempo attuale

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

Nome Tipo di dati Commento Preimpostazione


Ingresso TM TIME Tempo ingresso in ms T#0ms
Uscita TM_DIFF TIME Differenza di tempo T#0ms

Guida ai blocchi elementari di CFC


160 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione 16
16.1 CONTROL

Blocchi CFC della famiglia "CONTROL"


Questa famiglia contiene i seguenti blocchi:

CONT_C: Regolatore continuo (Pagina 162) Regolazione continua


CONT_S: Regolatore a passi (Pagina 169) Regolazione a passi
PULSEGEN: Modulazione ampiezza impulsi per il Generazione impulsi
regolatore PID (Pagina 175)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 161
Blocchi di regolazione
16.2 CONT_C

16.2 CONT_C

16.2.1 CONT_C: Regolatore continuo

Nome oggetto (Tipo/Numero)


FB 1

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)

Stati di funzionamento Nuovo avviamento/Riavviamento


Il blocco funzionale CONT_C dispone di una routine di nuovo avviamento.
All'avviamento l'integratore viene impostato internamente sul valore di inizializzazione
I_ITVAL. In caso di richiamo in un livello di allarme di schedulazione orologio, continua ad
operare a partire da questo valore.

Guida ai blocchi elementari di CFC


162 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione
16.2 CONT_C

Tutte le altre uscite vengono impostate sui valori preassegnati.

Informazioni sugli errori


La segnalazione di errore RET_VAL non viene utilizzata.

Parametri di ingresso

Parametro Tipo di Campo dei Preimpostazione Descrizione


dati valori
MAN_ON BOOL TRUE MANUAL VALUE ON / Attiva
funzionamento manuale
Se l'ingresso è impostato su "Attiva
funzionamento manuale", il circuito di
regolazione è interrotto. Come valore
regolante viene predefinito un valore
manuale.
PVPER_ON BOOL FALSE PROCESS VARIABLE PERIPHERY ON
/ Attivare il valore istantaneo della
periferia
Se il valore istantaneo deve essere letto
dalla periferia, l'ingresso PV_PER deve
essere collegato alla periferia e
impostato su "Attiva valore istantaneo di
periferia".
P_SEL BOOL TRUE PROPORTIONAL ACTION ON /
Inserisci componente P
Nell'algoritmo PID è possibile attivare e
disattivare singolarmente i componenti
PID. Il componente P è attivato quando
l'ingresso "Inserisci componente P" è
impostato.
I_SEL BOOL TRUE INTEGRAL ACTION ON / Inserisci
componente I
Nell'algoritmo PID è possibile attivare e
disattivare singolarmente i componenti
PID. Il componente I è attivato quando
l'ingresso è impostato su "Inserisci
componente I".
INT_HOLD BOOL FALSE INTEGRAL ACTION HOLD / Blocca
componente I
L'uscita dell'integratore può essere
bloccata. A questo scopo l'ingresso
"Blocca componente I" deve essere
impostato.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 163
Blocchi di regolazione
16.2 CONT_C

Parametro Tipo di Campo dei Preimpostazione Descrizione


dati valori
I_ITL_ON BOOL FALSE INITIALIZATION OF THE INTEGRAL
ACTION / Imposta componente I
L'uscita dell'integratore può essere
impostata sull'ingresso I_ITL_VAL . A
questo scopo è necessario impostare
l'ingresso su "Imposta componente I".
D_SEL BOOL FALSE DERIVATIVE ACTION ON / Attivare
componente D
Nell'algoritmo PID è possibile attivare e
disattivare singolarmente i componenti
PID. Il componente D è attivato quando
l'ingresso è impostato su "Inserisci
componente D".
SAMPLE_T REAL ≥ 0.001 s T#1s SAMPLE TIME / Tempo di
campionamento
L’intervallo di tempo tra i richiami di
blocco deve essere costante. L'ingresso
"Tempo di campionamento" indica
l’intervallo di tempo tra i richiami di
blocco.
SP_INT REAL -100.0 ... 0.0 INTERNAL SETPOINT / Valore di
+100.0 % o riferimento interno
grandezza L'ingresso "Valore di riferimento interno"
fisica serve per la preimpostazione di un
valore di riferimento.
PV_IN REAL -100.0 ... 0.0 PROCESS VARIABLE IN / Ingresso
+100.0 % o valore istantaneo
grandezza All'ingresso "Ingresso valore istantaneo"
fisica può essere parametrizzato un valore di
messa in funzione o essere collegato un
valore istantaneo esterno nel formato a
virgola mobile.
PV_PER WORD W#16#0000 PROCESS VARIABLE PERIPHERIE /
Valore istantaneo periferia
Il valore istantaneo in formato periferia
viene collegato al regolatore
sull'ingresso "Valore istantaneo
periferia".
MAN REAL -100.0 ... 0.0 MANUAL VALUE / Valore manuale
+100.0 % o L'ingresso "Valore manuale" consente la
grandezza preimpostazione di un valore manuale
fisica mediante la funzione di servizio e
supervisione.
GAIN REAL 2.0 PROPORTIONAL GAIN / Coefficiente
proporzionale
L'ingresso "Coefficiente proporzionale"
indica l'amplificazione della regolazione.

Guida ai blocchi elementari di CFC


164 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione
16.2 CONT_C

Parametro Tipo di Campo dei Preimpostazione Descrizione


dati valori
TN TIME ≥ SAMPLE_T T#20s RESET TIME / Tempo di integrazione
L'ingresso "Tempo di integrazione"
determina il comportamento temporale
dell'integratore.
TV TIME ≥ SAMPLE_T T#10s DERIVATIVE TIME / Tempo di
differenziazione
L'ingresso "Tempo del derivatore"
determina il comportamento temporale
del derivatore.
TM_LAG TIME ≥ SAMPLE_T T#2s TIME LAG OF THE DERIVATE ACTION
/2 / Tempo di ritardo del componente D
L'algoritmo del componente D contiene
un ritardo che può essere
parametrizzato all'ingresso "Tempo di
ritardo del componente D".
DEADB_W REAL ≥ 0.0 % o 0.0 DEAD BAND WIDTH /Ampiezza banda
grandezza morta
fisica La differenza di regolazione viene
condotta attraverso una banda morta.
L'ingresso "Ampiezza banda morta"
determina la grandezza della banda
morta.
LMN_HLM REAL LMN_LLM ... 100.0 MANIPULATED VALUE HIGH LIMIT /
+100.0 % o Valore regolante, limite superiore
grandezza Il valore regolante viene sempre limitato
fisica da un limite superiore e da uno inferiore.
L'ingresso "Valore regolante, limite
superiore" indica il limite superiore.
LMN_LLM REAL -100.0 ... 0.0 MANIPULATED VALUE LOW LIMIT
LMN_HLM % /Valore regolante, limite inferiore
o grandezza Il valore regolante viene sempre limitato
fisica da un limite superiore e da uno inferiore.
L'ingresso "Valore regolante, limite
inferiore" indica il limite inferiore.
PV_FAC REAL 1.0 PROCESS VARIABLE FACTOR /
Fattore del valore istantaneo
L'ingresso "Fattore del valore
istantaneo" viene moltiplicato per il
valore istantaneo. L'ingresso serve per
adeguare il campo del valore istantaneo.
PV_OFF REAL 0.0 PROCESS VARIABLE OFFSET / Offset
del valore istantaneo
L'ingresso "Offset del valore istantaneo"
viene sommato al valore istantaneo.
L'ingresso serve per adeguare il campo
del valore istantaneo.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 165
Blocchi di regolazione
16.2 CONT_C

Parametro Tipo di Campo dei Preimpostazione Descrizione


dati valori
LMN_FAC REAL 1.0 MANIPULATED VALUE FACTOR /
Fattore del valore regolante
L'ingresso "Fattore del valore regolante"
viene moltiplicato per il valore regolante.
L'ingresso serve per adattare il campo
del valore regolante.
LMN_OFF REAL 0.0 MANIPULATED VALUE OFFSET /
Offset del valore regolante
L'ingresso "Offset del valore regolante"
viene sommato al valore regolante.
L'ingresso serve per adattare il campo
del valore regolante.
I_ITLVAL REAL -100.0 ... 0.0 INITIALIZATION VALUE OF THE
+100.0 % o INTEGRAL ACTION / Valore di
grandezza inizializzazione per componente I
fisica L'uscita dell'integratore può essere
impostata all'ingresso I_ITL_ON.
All'ingresso "Valore di inizializzazione
per componente I" è presente il valore di
inizializzazione.
DISV REAL -100.0 ... 0.0 DISTURBANCE VARIABLE / Segnale di
+100.0 % o disturbo
grandezza Per l'inserzione di un segnale di
fisica disturbo, quest’ultimo viene collegato
all'ingresso "Segnale di disturbo".

Parametri di uscita

Parametro Tipo di Campo dei Preimpostazione Descrizione


dati valori
LMN REAL 0.0 MANIPULATED VALUE / Valore
regolante
All'uscita "Valore regolante" viene
emesso il valore regolante effettivo nel
formato di virgola mobile.
LMN_PER WORD W#16#0000 MANIPULATED VALUE PERIPHERY /
Valore regolante periferia
Il valore regolante nel formato periferia
viene collegato al regolatore all'uscita
"Valore regolante periferia".
QLMN_HLM BOOL FALSE HIGH LIMIT OF MANIPULATED VALUE
REACHED / Attivazione limite superiore
del valore regolante
Il valore regolante viene sempre limitato
da un limite superiore e da uno inferiore.
L'uscita "Attivazione del limite superiore
del valore regolante" segnala che è stato
superato il limite superiore.

Guida ai blocchi elementari di CFC


166 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione
16.2 CONT_C

Parametro Tipo di Campo dei Preimpostazione Descrizione


dati valori
QLMN_LLM BOOL FALSE LOW LIMIT OF MANIPULATED VALUE
REACHED / Attivazione limite inferiore
del valore regolante
Il valore regolante viene sempre limitato
da un limite superiore e da uno inferiore.
L'uscita "Attivazione del limite inferiore
del valore regolante" segnala che è stato
superato il limite inferiore.
LMN_P REAL 0.0 PROPORTIONALITY COMPONENT /
Componente P
L'uscita "Componente P" contiene il
componente proporzionale della
grandezza regolante.
LMN_I REAL 0.0 INTEGRAL COMPONENT /
Componente I
L'uscita "Componente I" contiene il
componente integrale della grandezza
regolante.
LMN_D REAL 0.0 DERIVATIVE COMPONENT /
Componente D
L'uscita "Componente D" contiene il
componente differenziale della
grandezza regolante.
PV REAL 0.0 PROCESS VARIABLE / Valore
istantaneo
Il valore istantaneo efficace viene
emesso all'uscita "Valore istantaneo".
ER REAL 0.0 ERROR SIGNAL / Differenza di
regolazione
Il valore efficace della differenza di
regolazione viene emesso all'uscita
"Differenza di regolazione".

Ulteriori informazioni
Per maggiori informazioni vedere il paragrafo:
CONT_C: Schema a blocchi (Pagina 168)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 167
Blocchi di regolazione
16.2 CONT_C

16.2.2 CONT_C: Schema a blocchi

Guida ai blocchi elementari di CFC


168 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione
16.3 CONT_S

16.3 CONT_S

16.3.1 CONT_S: Regolatore a passi

Nome oggetto (Tipo/Numero)


FB 2

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.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 169
Blocchi di regolazione
16.3 CONT_S

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)

Stati di funzionamento Nuovo avviamento/Riavviamento


Il blocco funzionale CONT_S dispone di una routine di nuovo avviamento.
Tutte le uscite vengono impostate sui valori preassegnati.

Informazioni sugli errori


La segnalazione di errore RET_VAL non viene utilizzata.

Parametri di ingresso

Parametro Tipo di Campo dei Preimpostazione Descrizione


dati valori
LMNR_HS BOOL FALSE HIGH LIMIT SIGNAL OF REPEATED
MANIPULATED VALUE / Segnale di
arresto superiore della risposta di
posizione
Il segnale "Valvola di regolazione al limite
superiore" viene collegato all'ingresso
"Segnale di arresto superiore della
risposta di posizione”. LMNR_HS = TRUE
indica che: la valvola di regolazione si
trova al limite superiore.
LMNR_LS BOOL FALSE LOW LIMIT SIGNAL OF REPEATED
MANIPULATED VALUE / Segnale di
arresto inferiore della risposta di posizione
Il segnale "Valvola di regolazione al limite
inferiore" viene collegato all'ingresso
"Segnale di arresto inferiore della risposta
di posizione. LMNR_LS = TRUE indica
che: la valvola di regolazione si trova al
limite inferiore.

Guida ai blocchi elementari di CFC


170 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione
16.3 CONT_S

Parametro Tipo di Campo dei Preimpostazione Descrizione


dati valori
LMNS_ON BOOL TRUE MANIPULATED SIGNALS ON / Inserire
funzionamento manuale dei segnali dei
valori regolanti
All'ingresso "Funzionamento manuale dei
segnali del valore regolante"
l'elaborazione dei segnali del valore
regolante viene commutata sul
funzionamento manuale.
LMNUP BOOL FALSE MANIPULATED SIGNALS UP / Segnale
del valore regolante, alto
Nel funzionamento manuale dei segnali
del valore regolante, il segnale di uscita
QLMNUP viene comandato all'ingresso
"Segnale del valore regolante, alto".
LMNDN BOOL FALSE MANIPULATED SIGNALS DOWN /
Segnale del valore regolante, basso
Nel funzionamento manuale dei segnali
del valore regolante, il segnale di uscita
QLMNDN viene comandato all'ingresso
"Segnale del valore regolante, basso".
PVPER_O BOOL FALSE PROCESS VARIABLE PERIPHERY ON /
N Attivare il valore istantaneo della periferia
Se il valore istantaneo deve essere letto
dalla periferia, l'ingresso PV_PER deve
essere collegato con la periferia e
impostato su "Attivazione valore
istantaneo di periferia".
SAMPLE_ REAL ≥ 0.001s T#1s SAMPLE TIME / Tempo di
T campionamento
L’intervallo di tempo tra i richiami di blocco
deve essere costante. L'ingresso "Tempo
di campionamento" indica l’intervallo di
tempo tra i richiami di blocco.
SP_INT REAL -100.0 ... 0.0 INTERNAL SETPOINT / Valore di
+100.0 % o riferimento interno
grandezza L'ingresso "Valore di riferimento interno"
fisica serve per la preimpostazione di un valore
di riferimento.
PV_IN REAL -100.0 ... 0.0 PROCESS VARIABLE IN / Ingresso
+100.0 % o valore istantaneo
grandezza All'ingresso "Ingresso valore istantaneo"
fisica può essere parametrizzato un valore di
messa in funzione o essere collegato un
valore istantaneo esterno nel formato a
virgola mobile.
PV_PER WORD W#16#0000 PROCESS VARIABLE PERIPHERIE /
Valore istantaneo periferia
Il valore istantaneo in formato periferia
viene collegato al regolatore sull'ingresso
"Valore istantaneo periferia".

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 171
Blocchi di regolazione
16.3 CONT_S

Parametro Tipo di Campo dei Preimpostazione Descrizione


dati valori
GAIN REAL 2.0 PROPORTIONAL GAIN / Coefficiente
proporzionale
L'ingresso "Coefficiente proporzionale"
indica l'amplificazione della regolazione.
TN TIME ≥ SAMPLE_T T#20s RESET TIME / Tempo di integrazione
L'ingresso "Tempo di integrazione"
determina il comportamento temporale
dell'integratore.
DEADB_ REAL ≥ 0.0 % o 0.0 DEAD BAND WIDTH /Ampiezza banda
W grandezza morta
fisica La differenza di regolazione viene
condotta attraverso una banda morta.
L'ingresso "Ampiezza banda morta"
determina la grandezza della banda
morta.
PV_FAC REAL 1.0 PROCESS VARIABLE FACTOR / Fattore
del valore istantaneo
L'ingresso "Fattore del valore istantaneo"
viene moltiplicato per il valore istantaneo.
L'ingresso serve per adeguare il campo
del valore istantaneo.
PV_OFF REAL 0.0 PROCESS VARIABLE OFFSET / Offset
del valore istantaneo
L'ingresso "Offset del valore istantaneo"
viene sommato al valore istantaneo.
L'ingresso serve per adeguare il campo
del valore istantaneo.
PULSE_T TIME ≥ SAMPLE_T T#3s MINIMUM PULSE TIME / Durata minima
M dell'impulso
Nel parametro "Durata minima
dell'impulso" può essere parametrizzata
una lunghezza minima dell'impulso.
BREAK_T TIME ≥ SAMPLE_T T#3s MINIMUM BREAK TIME / Durata minima
M della pausa
Nel parametro "Durata minima della
pausa" può essere parametrizzata una
lunghezza minima per una pausa.
MTR_TM TIME ≥ SAMPLE_T T#30s MOTOR MANIPULATED VALUE / Tempo
di regolazione motore
Nel parametro "Tempo di regolazione
motore" viene registrato il tempo di
esecuzione della valvola di regolazione da
picco a picco.
DISV REAL -100.0 ... 0.0 DISTURBANCE VARIABLE / Segnale di
+100.0 % o disturbo
grandezza Per l'inserzione di un segnale di disturbo,
fisica quest’ultimo viene collegato all'ingresso
"Segnale di disturbo".

Guida ai blocchi elementari di CFC


172 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione
16.3 CONT_S

Parametri di uscita

Parametro Tipo di Campo dei Preimpostazione Descrizione


dati valori
QLMNUP BOOL FALSE MANIPULATED SIGNAL UP /
Segnale del valore regolante, alto
Se l'uscita "Segnale del valore
regolante alto" è impostata, la
valvola di regolazione deve essere
aperta.
QLMNDN BOOL FALSE MANIPULATED SIGNAL DOWN /
Segnale del valore regolante basso
Se l'uscita "Segnale del valore
regolante basso" è impostata, la
valvola di regolazione deve essere
chiusa.
PV REAL 0.0 PROCESS VARIABLE / Valore
istantaneo
Il valore istantaneo efficace viene
emesso all'uscita "Valore
istantaneo".
ER REAL 0.0 ERROR SIGNAL / Differenza di
regolazione
Il valore efficace della differenza di
regolazione viene emesso all'uscita
"Differenza di regolazione".

Ulteriori informazioni
Per maggiori informazioni vedere il paragrafo:
CONT_S: Schema a blocchi (Pagina 174)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 173
Blocchi di regolazione
16.3 CONT_S

16.3.2 CONT_S: Schema a blocchi

Guida ai blocchi elementari di CFC


174 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione
16.4 PULSEGEN

16.4 PULSEGEN

16.4.1 PULSEGEN: Modulazione ampiezza impulsi per il regolatore PID

Nome oggetto (Tipo/Numero)


FB 3

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)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 175
Blocchi di regolazione
16.4 PULSEGEN

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.

Precisione del valore regolante


In questo esempio la precisione del valore regolante è limitata al 10% da un "rapporto di
campionamento" di 1:10 (richiami CONT_C rispetto ai richiami PULSEGEN). I valori di
ingresso INV preassegnati possono essere riprodotti sull'uscita QPOS con un reticolo del
10% rispetto alla lunghezza dell’impulso.
Di conseguenza il grado di precisione aumenta in relazione al numero di richiami SFB
PULSEGEN per ogni richiamo CONT_C.
Se ad esempio PULSEGEN viene richiamato 100 volte più spesso di CONT_C, si raggiunge
una risoluzione dell'1% del campo del valore regolante.

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.

Guida ai blocchi elementari di CFC


176 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione
16.4 PULSEGEN

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.

Modo di funzionamento Selettore


MAN_ON STEP3_ON ST2BI_ON
Regolazione a tre punti FALSE TRUE a scelta
Regolazione a due punti con campo di regolazione bipolare (- FALSE FALSE TRUE
100% ... +100%)
Regolazione a due punti con campo di regolazione unipolare FALSE FALSE FALSE
(0% ... +100%)
Funzionamento manuale TRUE a scelta a scelta

Parametri di ingresso

Parametro Tipo di Campo dei valori Preimpostazione Descrizione


dati
INV REAL -100.0 ... +100.0% 0.0 INPUT VARIABLE / Variabile di
ingresso
Nel parametro di ingresso "Variabile
di ingresso" viene attivata una
grandezza analogica del valore
regolante.
PER_TM TIME ≥ 20 * SAMPLE_T T#1s PERIOD TIME / Periodo
Nel parametro di ingresso "Periodo"
viene immesso il periodo costante
della modulazione ampiezza impulsi.
Questa corrisponde al tempo di
campionamento del regolatore. Il
rapporto tra il tempo di
campionamento del generatore di
impulsi e il tempo di campionamento
del regolatore determina la
precisione della modulazione
ampiezza impulsi.
P_B_TM TIME ≥ SAMPLE_T T#0ms MINIMUM PULSE/BREAK TIME /
Durata minima dell'impulso o della
pausa
Nel parametro di ingresso "Durata
minima dell'impulso o della pausa"
può essere parametrizzata una
lunghezza minima dell’impulso o
della pausa.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 177
Blocchi di regolazione
16.4 PULSEGEN

Parametro Tipo di Campo dei valori Preimpostazione Descrizione


dati
RATIOFAC REAL 0.1 ... 10.0 1.0 RATIO FACTOR / Fattore
proporzionale
Con il parametro di ingresso "Fattore
proporzionale" è possibile modificare
il rapporto tra la durata degli impulsi
negativi e quella degli impulsi
positivi. In questo modo in un
processo termico è possibile
compensare costanti di tempo
diverse per il riscaldamento e il
raffreddamento (ad esempio, un
processo con riscaldamento elettrico
e raffreddamento ad acqua).
STEP3_ON BOOL TRUE THREE STEP CONTROL ON /
Inserire regolazione a tre punti
Nel parametro di ingresso "Inserire
regolazione a tre punti" viene attivato
il tipo di funzionamento
corrispondente. Nel caso della
regolazione a tre punti sono operativi
entrambi i segnali di uscita.
ST2BI_ON BOOL FALSE TWO STEP CONTROL FOR
BIPOLAR MANIPULATED VALUE
RANGE ON / Inserire regolazione a
due punti per area bipolare del
valore regolante
Nel parametro di ingresso "Inserisci
regolazione a due punti per area
bipolare del valore regolante" è
possibile scegliere tra il tipo di
funzionamento "Regolazione a due
punti per area bipolare del valore
regolante" e "Regolazione a due
punti per area unipolare del valore
regolante". Deve essere impostato il
valore STEP3_ON = FALSE.
MAN_ON BOOL FALSE MANUAL MODE ON / Inserire
funzionamento manuale
Con l'impostazione del parametro di
ingresso "Inserire funzionamento
manuale" è possibile impostare
manualmente i segnali di uscita.

Guida ai blocchi elementari di CFC


178 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione
16.4 PULSEGEN

Parametro Tipo di Campo dei valori Preimpostazione Descrizione


dati
POS_P_ON BOOL FALSE POSITIVE PULSE ON / Inserimento
impulso positivo
Con il funzionamento manuale
regolazione a tre punti, è possibile
controllare nel parametro di ingresso
"Inserisci impulso positivo" il segnale
di uscita QPOS_P. Nel caso del
funzionamento manuale regolazione
a due punti, QNEG_P viene
impostato sempre inverso a
QPOS_P.
NEG_P_ON BOOL FALSE NEGATIVE PULSE ON / Inserisci
impulso negativo
Con il funzionamento manuale
regolazione a tre punti, è possibile
controllare nel parametro di ingresso
"Inserisci impulso negativo" il
segnale di uscita QNEG_P. Nel caso
del funzionamento manuale
regolazione a due punti, QNEG_P
viene impostato sempre inverso a
QPOS_P.
SYN_ON BOOL TRUE SYNCHRONISATION ON / Attiva
sincronizzazione
Con l'impostazione del parametro di
ingresso "Attiva sincronizzazione", è
possibile sincronizzare
automaticamente l'emissione degli
impulsi con il blocco che aggiorna la
grandezza di ingresso INV. In questo
modo si garantisce che una
grandezza di ingresso che varia
venga emessa al più presto possibile
come impulso.
SAMPLE_T REAL ≥ 0,001s 1 SAMPLE TIME / Tempo di
campionamento [s]
L’intervallo di tempo tra i richiami di
blocco deve essere costante.
L'ingresso "Tempo di
campionamento" indica l’intervallo di
tempo tra i richiami di blocco.

Nota
Nel blocco i valori dei parametri di ingresso non vengono limitati. Non ha luogo alcuna
verifica dei parametri.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 179
Blocchi di regolazione
16.4 PULSEGEN

Parametri di uscita

Parametro Tipo di Campo dei Preimpostazio Descrizione


dati valori ne
QPOS_P BOOL FALSE OUTPUT POSITIVE PULSE / Segnale di
uscita impulso positivo
Il parametro di uscita "Segnale di uscita
impulso positivo" è impostato quando deve
essere emesso un impulso. Nel caso della
regolazione a tre punti si tratta dell'impulso
positivo. Nel caso della regolazione a due
punti, QNEG_P viene impostato sempre
inverso a QPOS_P.
QNEG_P BOOL FALSE OUTPUT NEGATIVE PULSE / Segnale di
uscita impulso negativo
Il parametro di uscita "Segnale di uscita
impulso negativo" è impostato quando deve
essere emesso un impulso. Nel caso della
regolazione a tre punti si tratta dell'impulso
negativo. Nel caso della regolazione a due
punti, QNEG_P viene impostato sempre
inverso a QPOS_P.

Stati di funzionamento Nuovo avviamento/Riavviamento


In caso di nuovo avviamento tutte le uscite di segnale vengono impostate sullo zero.

Informazioni sugli errori


La segnalazione di errore RET_VAL non viene utilizzata.

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)

Guida ai blocchi elementari di CFC


180 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione
16.4 PULSEGEN

16.4.2 PULSEGEN: Schema a blocchi

16.4.3 PULSEGEN: Regolazione a tre punti

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)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 181
Blocchi di regolazione
16.4 PULSEGEN

Durata minima dell'impulso o della pausa


Se la durata minima dell'impulso o della pausa P_B_TM è parametrizzata in modo corretto, è
possibile evitare tempi di attivazione e disattivazione brevi che compromettono la durata
degli organi di comando e dei dispositivi di regolazione.

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)

16.4.4 PULSEGEN: Regolazione a tre punti, asimmetrica

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.

Fattore proporzionale < 1


Dalla durata dell'impulso sull'uscita negativa ricavata dalla grandezza di ingresso moltiplicata
per il periodo viene sottratto il fattore proporzionale:
Durata dell’impulso positivo = INV / 100 * PER_TM
Durata dell’impulso negativo = INV / 100 * PER_TM + RATIOFAC

Guida ai blocchi elementari di CFC


182 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi di regolazione
16.4 PULSEGEN

Fattore proporzionale > 1


Dalla durata dell'impulso sull'uscita positiva ricavata dalla grandezza di ingresso moltiplicata
per il periodo viene sottratto il fattore proporzionale:
Durata dell’impulso positivo = INV / 100 + PER_TM
Durata dell’impulso negativo = INV / 100 * PER_TM / RATIOFAC

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)

16.4.5 PULSEGEN: Regolazione a due punti

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.

Impulso Organo attuatore on Organo attuatore off


QPOS_P TRUE FALSE
QNEG_P FALSE TRUE

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)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 183
Blocchi di regolazione
16.4 PULSEGEN

16.4.6 PULSEGEN: Funzionamento manuale per la regolazione a due o a tre punti

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.

POS_P_ON NEG_P_ON QPOS_P QNEG_P


Regolazione a tre punti FALSE FALSE FALSE FALSE
TRUE FALSE TRUE FALSE
FALSE TRUE FALSE TRUE
TRUE TRUE FALSE FALSE
Regolazione a due punti FALSE a scelta FALSE TRUE
TRUE a scelta TRUE FALSE

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)

Guida ai blocchi elementari di CFC


184 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per le funzioni di sistema 17
17.1 EVENT: Avvio del livello di esecuzione

Blocchi CFC della famiglia "SYSTEM"


Questa famiglia comprende i seguenti richiami di sistema messi a disposizione dal sistema
runtime M7-300/400.

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)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 185
Blocchi per le funzioni di sistema
17.2 DELAY

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

Nome Tipo di dati Commento Preimpostazione


Ingresso TN TASK Nome del task 0

Guida ai blocchi elementari di CFC


186 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per le funzioni di sistema
17.3 DELAY: Ritardo degli eventi di avvio

17.3 DELAY: Ritardo degli eventi di avvio

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)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 187
Blocchi per le funzioni di sistema
17.4 EDELAY : Abilitazione degli eventi di avvio ritardati

17.4 EDELAY : Abilitazione degli eventi di avvio ritardati

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)

Guida ai blocchi elementari di CFC


188 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per le funzioni di sistema
17.5 DISCARD: Tutti gli eventi di avvio vengono rifiutati

17.5 DISCARD: Tutti gli eventi di avvio vengono rifiutati

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)

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 189
Blocchi per le funzioni di sistema
17.6 EDISCARD: Abilitazione di tutti i nuovi eventi di avvio

17.6 EDISCARD: Abilitazione di tutti i nuovi eventi di avvio

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)

Guida ai blocchi elementari di CFC


190 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per le funzioni di sistema
17.7 LASTERR: Rilevazione del codice di errore in DELAY, EDELAY, DISCARD, EDISCARD,P_REASON

17.7 LASTERR: Rilevazione del codice di errore in DELAY, EDELAY,


DISCARD, EDISCARD,P_REASON

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

Nome Tipo di dati Commento Preimpostazione


Uscita ERR DINT Error Code 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 191
Blocchi per le funzioni di sistema
17.8 SYSTIME: Rilevamento del tempo di sistema

17.8 SYSTIME: Rilevamento del tempo di sistema

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

Nome Tipo di dati Commento Preimpostazione


Uscita TIME TIME System Time 0

Guida ai blocchi elementari di CFC


192 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per le funzioni di sistema
17.9 P_REASON: Rilevamento della causa del richiamo di un interrupt di processo

17.9 P_REASON: Rilevamento della causa del richiamo di un interrupt di


processo

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

Nome Tipo di dati Commento Preimpostazione


Ingresso TN TASK Nome del task 0
Uscite DWORD DWORD Alarm State 0
MASK DWORD Alarm Mask 0

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 193
Blocchi per le funzioni di sistema
17.10 FRC_CFC: blocco interno

17.10 FRC_CFC: blocco interno

Nome dell'oggetto (tipo + numero)


FB 136
Si tratta di un blocco di sistema che viene utilizzato soltanto internamente. Non vengono
quindi fornite informazioni in proposito.

Guida ai blocchi elementari di CFC


194 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per i collegamenti validi per più AS 18
18.1 IK_STATE

IK_STATE: Visualizza lo stato di un collegamento inter-AS

Nome oggetto (Tipo/Numero)


FC 157

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.

Gestione degli errori


Il valore di ritorno RET_VAL non viene utilizzato.

Parametri di ingresso

Parametri Tipo di dati Preimpostazione Descrizione


NETPRO_ID INT 0 NETPRO_ID del collegamento
MasterDB INT 0 Numero di DB del DB di master. Viene compilato
automaticamente da CFC

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 195
Blocchi per i collegamenti validi per più AS
18.1 IK_STATE

Parametri di uscita

Parametri Tipo di dati Preimpostazione Descrizione


SendErr BOOL FALSE Errore di invio
Visualizzazione nel BSEND
RcvErr BOOL FALSE Errore di ricezione
Visualizzazione nel BRCV
SendOvl BOOL FALSE Sovraccarico del mittente
Questo errore può essere causato da un'elaborazione
troppo lenta del buffer intermedio di invio
RcvOv BOOL FALSE Sovraccarico del ricevente
Questo errore può essere causato da un'elaborazione
troppo lenta del buffer intermedio di ricezione
RcvChg BOOL FALSE Modifica incoerente del ricevente
1. È stata effettuata, dalla parte della ricezione, una
riprogettazione dell'interconnessione inter-AS che
concerne anche il mittente. ma il mittente non era
raggiungibile in quel momento.
2. È stata effettuata, dalla parte dell'invio, una
riprogettazione dell'interconnessione inter-AS che
concerne anche il ricevente. ma il mittente non era
raggiungibile in quel momento.
3. A causa di stati di carica diversi il mittente e il
ricevente dispongono di strutture di dati inter-AS diversi
tra di loro.
RcvTmout BOOL FALSE Superamento del tempo del ricevente
Le cause sono ad es.:
1. STOP dell'AS di invio
2. Il mittente non ha (ancora) caricato alcun BSEND
SysErr BOOL FALSE Errore di sistema
ad es. non è disponibile il blocco dati inter-AS
GroupErr BOOL FALSE Errore cumulativo degli 8 errori sopraindicati
ConnNA BOOL FASLE NETPRO_ID parametrizzato non disponibile

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".

Guida ai blocchi elementari di CFC


196 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per i collegamenti validi per più AS
18.2 IK_MANAG

18.2 IK_MANAG

IK_MANAG

Nome dell'oggetto (tipo + numero)


FC152

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".

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 197
Blocchi per i collegamenti validi per più AS
18.3 IK_SEND

18.3 IK_SEND

IK_SEND

Nome dell'oggetto (tipo + numero)


FC155

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".

Guida ai blocchi elementari di CFC


198 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per i collegamenti validi per più AS
18.4 IK_RCV

18.4 IK_RCV

IK_RCV

Nome dell'oggetto (tipo + numero)


FC156

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".

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 199
Blocchi per i collegamenti validi per più AS
18.5 IK_CP_OU

18.5 IK_CP_OU

IK_CP_OU

Nome dell'oggetto (tipo + numero)


FC154

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".

Guida ai blocchi elementari di CFC


200 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Blocchi per i collegamenti validi per più AS
18.6 IK_CP_IN

18.6 IK_CP_IN

IK_CP_IN

Nome dell'oggetto (tipo + numero)


FC153

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".

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 201
Blocchi per i collegamenti validi per più AS
18.7 IK_ALARM

18.7 IK_ALARM

IK_ALARM

Nome dell'oggetto (tipo + numero)


FB244

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".

Guida ai blocchi elementari di CFC


202 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Famiglia di blocchi "@SYSTEM" 19
19.1 PA_CPU: blocchi di controllo per informazioni di licenza

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".

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 203
Famiglia di blocchi "@SYSTEM"
19.1 PA_CPU: blocchi di controllo per informazioni di licenza

Guida ai blocchi elementari di CFC


204 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Appendice 20
20.1 Elaborazione manuale dei valori

È possibile commutare tra il funzionamento manuale e quello automatico. Con il


funzionamento manuale, la grandezza di regolazione viene regolata in cascata con un valore
manuale.
L'integratore (INT) viene impostato internamente su LMN - LMN_P - DISV e il derivatore
(DIF) su 0 e quindi sincronizzato internamente. Il passaggio al funzionamento automatico
avviene quindi senza scosse.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 205
Appendice
20.2 Modulazione di ampiezza degli impulsi

20.2 Modulazione di ampiezza degli impulsi

Modulazione di ampiezza degli impulsi

Legenda
1 Ciclo PULSEGEN
2 Ciclo CONT_C

Guida ai blocchi elementari di CFC


206 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Appendice
20.3 Diramazione valore istantaneo

20.3 Diramazione valore istantaneo

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.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 207
Appendice
20.4 Curva caratteristica con campo del valore regolante bipolare

20.4 Curva caratteristica con campo del valore regolante bipolare

Curva caratteristica con campo del valore regolante bipolare


Campo valore regolante da -100% a 100%

Legenda
1 Permanentemente su "Off"
2 Durata impulso positivo
3 Permanentemente "On"

Guida ai blocchi elementari di CFC


208 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Appendice
20.5 Curva caratteristica con campo del valore regolante unipolare

20.5 Curva caratteristica con campo del valore regolante unipolare

Curva caratteristica con campo del valore regolante unipolare


Campo valore regolante da 0% a 100%

Legenda
1 Durata impulso positivo

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 209
Appendice
20.6 Algoritmo a passi PI

20.6 Algoritmo a passi PI

Il blocco funzionale opera senza risposta di posizione. La parte I dell'algoritmo PI e la


risposta di posizione prevista vengono calcolate in un unico integratore (INT) e confrontate
sotto forma di valore di ritorno con la parte P residua. La differenza va ad un regolatore a tre
punti (THREE_ST) e un generatore di impulsi (PULSEOUT) che genera gli impulsi per la
valvola di regolazione. La frequenza di commutazione del regolatore viene ridotta mediante
un adattamento della soglia di risposta dell'organo a tre punti.

Guida ai blocchi elementari di CFC


210 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Appendice
20.7 Algoritmo PID

20.7 Algoritmo PID

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.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 211
Appendice
20.8 Formazione della deviazione di regolazione

20.8 Formazione della deviazione di regolazione

La differenza di regolazione è data dalla differenza fra il valore di riferimento e il valore


istantaneo. Per sopprimere una piccola oscillazione permanente dovuta alla quantificazione
della grandezza regolante, p. es. nella modulazione dell'ampiezza impulso con PULSEGEN
oppure nella risoluzione limitata del valore regolante tramite la valvola di regolazione, la
differenza di regolazione viene condotta attraverso una banda morta (DEADBAND). Se
DEADB_W = 0, la banda morta è disattivata.

Guida ai blocchi elementari di CFC


212 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Appendice
20.9 Diramazione valore di riferimento

20.9 Diramazione valore di riferimento

La diramazione del valore di riferimento viene immessa in virgola mobile nell'ingresso


SP_INT.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 213
Appendice
20.10 Elaborazione del valore regolante

20.10 Elaborazione del valore regolante

Il valore regolante viene limitato a valori preassegnabili mediante la funzione LMNLIMIT. Il


superamento dei limiti viene indicato in bit di segnalazione.
La funzione LMN_NORM normalizza l'uscita di LMNLIMIT secondo la regola seguente:
LMN = (uscita di LMNLIMIT) * LMN_FAC + LMN_OFF
LMN_FAC è predefinito con 1 e LMN_OFF con 0.
Il valore di regolazione è disponibile anche in formato di periferia. La funzione CRP_OUT
trasforma il valore in virgola mobile LMN in un valore di periferia secondo la regola seguente:
LMN_PER = LMN * 27648 / 100

Guida ai blocchi elementari di CFC


214 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Appendice
20.11 Inserzione segnale di disturbo

20.11 Inserzione segnale di disturbo

All'ingresso DISV può essere inserito anche un segnale di disturbo.

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 215
Appendice
20.12 Curva caratteristica simmetrica per regolatore a tre punti

20.12 Curva caratteristica simmetrica per regolatore a tre punti

Curva caratteristica simmetrica per regolatore a tre punti


Fattore proporzionale = 1

Legenda
1 Durata impulso positivo
2 Permanentemente "On"
3 Permanentemente "Off"
4 Durata impulso negativo

Guida ai blocchi elementari di CFC


216 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Appendice
20.13 Curva caratteristica asimmetrica per regolatore a tre punti

20.13 Curva caratteristica asimmetrica per regolatore a tre punti

Curva caratteristica asimmetrica per regolatore a tre punti


Fattore proporzionale = 0,5

Legenda
1 Durata impulso positivo
2 Durata impulso negativo

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 217
Appendice
20.13 Curva caratteristica asimmetrica per regolatore a tre punti

Guida ai blocchi elementari di CFC


218 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Indice analitico

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

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 219
Indice analitico

DWORD -> WORD, 52 F


INT -> DINT, 53
F_TRIG, 154
INT -> DWORD, 54
Flip-flop, 121
INT -> REAL, 55
FlipFlop, impostazione dominante, 124
INT -> WORD, 56
FlipFlop, resetta dominante*, 123
REAL -> DINT, 57
Forme degli impulsi per organi attuatori
REAL -> DWORD, 58
proporzionali, 175
REAL -> INT, 59
FRC_CFC, 194
WORD -> 16 BOOL, 67
Descrizione, 194
WORD -> BYTE, 60
Fronte di discesa, 154
WORD -> DWORD, 61
Rilevamento, 154
WORD -> INT, 62
Fronte di salita, 153
COS, 84
Rilevamento, 153
Coseno, REAL, 84
Funzione esponenziale, REAL, 79
COUNTER, 143
CTD, 146
CTU, 144
G
CTUD, 147
generatore di impulsi, 150

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

Guida ai blocchi elementari di CFC


220 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA
Indice analitico

LN, 81 NEG_I, 105


LOG10, 82 NEG_R, 89
Logaritmo a base 10, REAL, 82 Negatore, DINT, 117
Logaritmo naturale, REAL, 81 Negatore, INT, 105
Logica di doppia parola, 23 Negatore, REAL, 89
Logica di parola, 23 NOR, 20
NOT, 21

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

Guida ai blocchi elementari di CFC


Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA 221
Indice analitico

Rotazione verso sinistra, WORD, 130 V


Rotazione, verso destra, DWORD, 133
Valore assoluto, DINT, 116
Rotazione, verso destra, WORD, 132
Valore assoluto, INT, 104
RS_FF, 123
Valore assoluto, REAL, 77
Valore medio, in virgola mobile, REAL, 94
S
SAMP_AVE, 94 W
SEL_BO, 140
W_BO, 67
SEL_R, 141
W_BY, 60
Seno, REAL, 83
W_DW, 61
SHIFT, 125
W_I, 62
SHL_DW, 127
WAND_DW, 30
SHL_W, 126
WAND_W, 24
SHR_DW, 129
WNAND_DW, 33
SHR_W, 128
WNAND_W, 27
SIN, 83
WNOR_DW, 34
Sottrattore, DINT, 110
WNOR_W, 28
Sottrattore, INT, 98
WNOT_DW, 35
Sottrattore, REAL, 72
WNOT_W, 29
Spostamento verso destra, DWORD, 129
WOR_DW, 31
Spostamento verso destra, WORD, 128
WOR_W, 25
Spostamento verso sinistra, DWORD, 127
WRD_LGC, 23
Spostamento verso sinistra, WORD, 126
WXOR_DW, 32
SQRT, 78
WXOR_W, 26
SR_FF, 124
SUB_DI, 110
SUB_I, 98
X
SUB_R, 72
SYSTEM, 185 XOR, 18
SYSTIME, 192

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

Guida ai blocchi elementari di CFC


222 Manuale di programmazione e d'uso, 04/2014, A5E34748369-AA

Potrebbero piacerti anche