Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di...
Transcript of Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di...
SIMATIC CFC - Blocchi elementari
____________________________________________________________________________________
______________________________________________________________________________________________________________________________
________________________________________________________
Parametri di blocco EN, ENO, SAMPLE_T 1Avviamento con le CPU S7-300
2
Blocchi CFC
3Blocchi logici con il tipo di dati BOOL
4Blocchi logici con i tipi di dati WORD e DWORD
5Blocchi per il confronto di due valori di ingresso dello stesso tipo
6Blocchi per la conversione di diversi tipi di dati
7Blocchi aritmetici del tipo di dati REAL
8Blocchi aritmetici del tipo di dati INT e DINT
9
Blocchi flip-flop
10
Blocchi shift
11
Blocchi multiplex
12
Blocchi di conteggio
13Blocchi per la generazione o l'elaborazione di impulsi
14Blocchi per la rilevazione o l’elaborazione di momenti e intervalli
15
Blocchi di regolazione
16Blocchi per le funzioni di sistema
17
Blocchi IK
18
Appendice
19
SIMATIC
Sistema di controllo del processo PCS 7 CFC - Blocchi elementari
Manuale di programmazione e d'uso
03/2009 A5E02109611-01
Avvertenze di legge 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 con il triangolo di pericolo indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non gravi.
CAUTELA senza triangolo di pericolo indica che la mancata osservanza delle relative misure di sicurezza può causare danni materiali.
ATTENZIONE indica che, se non vengono rispettate le relative misure di sicurezza, possono subentrare condizioni o conseguenze indesiderate.
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 L'apparecchio/sistema in questione deve essere installato e messo in servizio solo rispettando le indicazioni contenute in questa documentazione. La messa in servizio e l'esercizio di un apparecchio/sistema devono essere eseguiti solo da personale qualificato. Con riferimento alle indicazioni contenute in questa documentazione in merito alla sicurezza, come personale qualificato si intende quello autorizzato a mettere in servizio, eseguire la relativa messa a terra e contrassegnare le apparecchiature, i sistemi e i circuiti elettrici rispettando gli standard della tecnica di sicurezza.
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 Industry Sector Postfach 48 48 90026 NÜRNBERG GERMANIA
A5E02109611-01 Ⓟ 01/2009
Copyright © Siemens AG 2009. Con riserva di eventuali modifiche tecniche
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 3
Indice del contenuto
1 Parametri di blocco EN, ENO, SAMPLE_T .............................................................................................. 11 2 Avviamento con le CPU S7-300 .............................................................................................................. 13 3 Blocchi CFC............................................................................................................................................. 15 4 Blocchi logici con il tipo di dati BOOL....................................................................................................... 17
4.1 BIT-LGC.......................................................................................................................................17 4.2 AND: Combinazione logica AND .................................................................................................18 4.3 OR: Combinazione logica OR......................................................................................................19 4.4 XOR: Combinazione antivalente..................................................................................................20 4.5 NAND: Combinazione logica NAND ............................................................................................21 4.6 NOR: Combinazione logica NOR.................................................................................................22 4.7 NOT: Combinazione logica NOT .................................................................................................23
5 Blocchi logici con i tipi di dati WORD e DWORD ..................................................................................... 25 5.1 WRD_LGC ...................................................................................................................................25 5.2 WAND_W: Combinazione logica AND a parola...........................................................................26 5.3 WOR_W: Combinazione logica OR a parola ...............................................................................27 5.4 WXOR_W: Combinazione antivalente a parola ...........................................................................28 5.5 WNAND_W: Combinazione logica AND a doppia parola ............................................................29 5.6 WNOR_W: Combinazione logica NOR a parola..........................................................................30 5.7 WNOT_W.....................................................................................................................................31 5.8 WAND_DW ..................................................................................................................................32 5.9 WOR_DW.....................................................................................................................................32 5.10 WXOR_DW ..................................................................................................................................33 5.11 WNAND_DW................................................................................................................................33 5.12 WNOR_DW..................................................................................................................................34 5.13 WNOT_DW: Combinazione logica NOT a doppia parola ............................................................34
6 Blocchi per il confronto di due valori di ingresso dello stesso tipo............................................................ 35 6.1 COMPARE...................................................................................................................................35 6.2 CMP_I: Comparatore per valori INT.............................................................................................35 6.3 CMP_DI: Comparatore per valori DINT .......................................................................................36 6.4 CMP_R: Comparatore per valori REAL .......................................................................................37 6.5 CMP_T: Comparatore per valori TIME ........................................................................................38
Indice del contenuto
CFC - Blocchi elementari 4 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
7 Blocchi per la conversione di diversi tipi di dati ........................................................................................ 39 7.1 CONVERT................................................................................................................................... 39 7.2 BY_DW........................................................................................................................................ 41 7.3 BY_W .......................................................................................................................................... 41 7.4 DI_DW......................................................................................................................................... 42 7.5 DI_I .............................................................................................................................................. 42 7.6 DI_R ............................................................................................................................................ 43 7.7 DW_DI ......................................................................................................................................... 43 7.8 DW_R.......................................................................................................................................... 44 7.9 DW_W ......................................................................................................................................... 44 7.10 I_DI .............................................................................................................................................. 45 7.11 I_DW............................................................................................................................................ 45 7.12 I_R ............................................................................................................................................... 46 7.13 I_W .............................................................................................................................................. 46 7.14 R_DI ............................................................................................................................................ 47 7.15 R_DW.......................................................................................................................................... 47 7.16 R_I ............................................................................................................................................... 48 7.17 W_BY .......................................................................................................................................... 48 7.18 W_DW ......................................................................................................................................... 49 7.19 W_I .............................................................................................................................................. 49 7.20 BO_BY......................................................................................................................................... 50 7.21 BO_W.......................................................................................................................................... 50 7.22 BO_DW ....................................................................................................................................... 51 7.23 BY_BO......................................................................................................................................... 51 7.24 W_BO.......................................................................................................................................... 52 7.25 DW_BO ....................................................................................................................................... 52
Indice del contenuto
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 5
8 Blocchi aritmetici del tipo di dati REAL..................................................................................................... 53 8.1 MATH_FP.....................................................................................................................................53 8.2 ADD_R: Addizione di valori REAL ...............................................................................................54 8.3 SUB_R: Sottrazione di valori REAL .............................................................................................54 8.4 MUL_R: Moltiplicazione di valori REAL .......................................................................................55 8.5 DIV_R: Divisione di valori REAL ..................................................................................................55 8.6 MAXn_R: Massimo dei valori REAL ............................................................................................56 8.7 MINn_R: Minimo dei valori REAL.................................................................................................57 8.8 ABS_R: Valore assoluto dei valori REAL.....................................................................................58 8.9 SQRT: Radice quadrata...............................................................................................................58 8.10 EXP: Funzione esponenziale.......................................................................................................59 8.11 POW10: Potenza a base 10 ........................................................................................................59 8.12 LN: Logaritmo naturale ................................................................................................................60 8.13 LOG10: Logaritmo a base 10.......................................................................................................60 8.14 SIN: Funzione sinusoidale ...........................................................................................................61 8.15 COS: Funzione coseno................................................................................................................61 8.16 TAN: Funzione tangente ..............................................................................................................62 8.17 ASIN: Funzione arcoseno ............................................................................................................62 8.18 ACOS: Funzione arcocoseno ......................................................................................................63 8.19 ATAN: Funzione arcotangente.....................................................................................................63 8.20 NEG_R.........................................................................................................................................64 8.21 LIM_R: Limitatore di numeri REAL ..............................................................................................64 8.22 EPS_R..........................................................................................................................................65 8.23 CADD_R.......................................................................................................................................66 8.24 POWXY: Funzione di potenza generale ......................................................................................67 8.25 SAMP_AVE: Valore medio in virgola mobile ...............................................................................68
Indice del contenuto
CFC - Blocchi elementari 6 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
9 Blocchi aritmetici del tipo di dati INT e DINT............................................................................................ 69 9.1 MATH_INT................................................................................................................................... 69 9.2 ADD_I: Addizione di valori INT.................................................................................................... 70 9.3 SUB_I: Sottrazione di valori INT ................................................................................................. 70 9.4 MUL_I: Moltiplicazione di valori INT............................................................................................ 71 9.5 DIV_I: Divisione di valori INT....................................................................................................... 71 9.6 MOD_I: Funzione modulo di valori INT ....................................................................................... 72 9.7 MAXn_I: Massimo di valori INT................................................................................................... 72 9.8 MINn_I: Minimo di valori INT....................................................................................................... 73 9.9 ABS_I: Valore assoluto di valori INT ........................................................................................... 73 9.10 NEG_I: Negatore di valori INT..................................................................................................... 74 9.11 LIM_I: Limitatore di valori INT ..................................................................................................... 74 9.12 EPS_I: Genauigkeit Approximation von INT-Werten .................................................................. 75 9.13 CADD_I: Addizionatore controllabile di valori INT ...................................................................... 76 9.14 ADD_DI: Addizione di valori DINT .............................................................................................. 77 9.15 SUB_DI: Sottrazione di valori DINT ............................................................................................ 77 9.16 MUL_DI: Moltiplicazione di DINT ................................................................................................ 78 9.17 DIV_DI: Divisione di valori DINT ................................................................................................. 78 9.18 MOD_DI: Funzione modulo di valori DINT.................................................................................. 79 9.19 MAXn_DI: Massimo di valori DINT.............................................................................................. 79 9.20 MINn_DI: Minimo di valori DINT.................................................................................................. 80 9.21 ABS_DI: Valore assoluto di valori DINT...................................................................................... 80 9.22 NEG_DI: Negatore di valori DINT ............................................................................................... 81 9.23 LIM_DI: Limitatore di valori DINT ................................................................................................ 81 9.24 EPS_DI: Genauigkeit Approximation von DINT-Werten ............................................................. 82 9.25 CADD_DI: Addizionatore controllabile di valori DINT ................................................................. 83
10 Blocchi flip-flop ........................................................................................................................................ 85 10.1 FLIPFLOP ................................................................................................................................... 85 10.2 JK_FF.......................................................................................................................................... 85 10.3 RS_FF: RS-FlipFlop R resettaggio dominante............................................................................ 86 10.4 SR_FF: RS-FlipFlop S impostazione dominante ........................................................................ 86
Indice del contenuto
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 7
11 Blocchi shift ............................................................................................................................................. 87 11.1 SHIFT...........................................................................................................................................87 11.2 SHL_W: Scorrimento WORD verso sinistra.................................................................................87 11.3 SHL_DW: Scorrimento DWORD verso sinistra ...........................................................................88 11.4 SHR_W: Scorrimento WORD verso destra .................................................................................88 11.5 SHR_DW: Scorrimento DWORD verso destra ............................................................................89 11.6 ROL_W: Rotazione WORD verso sinistra ...................................................................................89 11.7 ROL_DW: Rotazione DWORD verso sinistra ..............................................................................90 11.8 ROR_W: Rotazione WORD verso destra ....................................................................................90 11.9 ROR_DW: Rotazione DWORD verso destra ...............................................................................91
12 Blocchi multiplex...................................................................................................................................... 93 12.1 MULTIPLX....................................................................................................................................93 12.2 MUXn_I: Multiplexer 1 da n per valori INT ...................................................................................94 12.3 MUXn_DI: Multiplexer 1 aus n für DINT-Werte............................................................................95 12.4 MUXn_R: Multiplexer 1 aus n für REAL-Werte............................................................................96 12.5 MUXn_BO: Multiplexer 1 aus n für BOOL-Werte.........................................................................97 12.6 SEL_BO: Multiplexer 1 da 2 per valori BOOL..............................................................................98 12.7 SEL_R: Multiplexer 1 da 2 per valori REAL .................................................................................98
13 Blocchi di conteggio................................................................................................................................. 99 13.1 COUNTER ...................................................................................................................................99 13.2 CTU: Contatore in avanti ...........................................................................................................100 13.3 CTD: Contatore all’indietro.........................................................................................................101 13.4 CTUD: Contatore in avanti/all’indietro .......................................................................................102
14 Blocchi per la generazione o l'elaborazione di impulsi ........................................................................... 103 14.1 IMPULS......................................................................................................................................103 14.2 TIMER_P: generatore di impulsi ................................................................................................104 14.3 R_TRIG: Riconoscimento del fronte di salita .............................................................................107 14.4 F_TRIG: Riconoscimento del fronte di discesa..........................................................................108 14.5 AFP: Temporizzatore .................................................................................................................109
15 Blocchi per la rilevazione o l’elaborazione di momenti e intervalli .......................................................... 111 15.1 TIME...........................................................................................................................................111 15.2 TIME: Misurazione del tempo di esecuzione .............................................................................111 15.3 TIME_BEG: Lettura dell'orario attuale .......................................................................................112 15.4 TIME_END: Confronto del tempo di ingresso con il tempo attuale ...........................................112
Indice del contenuto
CFC - Blocchi elementari 8 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
16 Blocchi di regolazione............................................................................................................................ 113 16.1 CONTROL................................................................................................................................. 113 16.2 CONT_C.................................................................................................................................... 114 16.2.1 CONT_C: Regolatore continuo ................................................................................................. 114 16.2.2 CONT_C: Schema a blocchi ..................................................................................................... 121 16.3 CONT_S.................................................................................................................................... 122 16.3.1 CONT_S: Regolatore a passi.................................................................................................... 122 16.3.2 CONT_S: Schema a blocchi ..................................................................................................... 128 16.4 PULSEGEN............................................................................................................................... 129 16.4.1 PULSEGEN: Modulazione ampiezza impulsi per il regolatore PID .......................................... 129 16.4.2 PULSEGEN: Schema a blocchi ................................................................................................ 135 16.4.3 PULSEGEN: Regolazione a tre punti ....................................................................................... 135 16.4.4 PULSEGEN: Regolazione a tre punti, asimmetrica.................................................................. 137 16.4.5 PULSEGEN: Regolazione a due punti...................................................................................... 138 16.4.6 PULSEGEN: Funzionamento manuale per la regolazione a due o a tre punti......................... 139
17 Blocchi per le funzioni di sistema........................................................................................................... 141 17.1 EVENT: Avvio del livello di esecuzione .................................................................................... 141 17.2 DELAY....................................................................................................................................... 142 17.3 DELAY: Ritardo degli eventi di avvio ........................................................................................ 142 17.4 EDELAY : Abilitazione degli eventi di avvio ritardati ................................................................. 143 17.5 DISCARD: Tutti gli eventi di avvio vengono rifiutati .................................................................. 143 17.6 EDISCARD: Abilitazione di tutti i nuovi eventi di avvio ............................................................. 144 17.7 LASTERR: Rilevazione del codice di errore in DELAY, EDELAY, DISCARD,
EDISCARD,P_REASON ........................................................................................................... 144 17.8 SYSTIME: Rilevamento del tempo di sistema .......................................................................... 145 17.9 P_REASON: Rilevamento del causa del richiamo di un interrupt di processo ......................... 145 17.10 FRC_CFC: blocco interno ......................................................................................................... 146
18 Blocchi IK............................................................................................................................................... 147 18.1 IK_STATE.................................................................................................................................. 147 18.2 IK_MANAG................................................................................................................................ 149 18.3 IK_SEND ................................................................................................................................... 149 18.4 IK_RCV...................................................................................................................................... 150 18.5 IK_CP_OU................................................................................................................................. 150 18.6 IK_CP_IN................................................................................................................................... 151 18.7 IK_ALARM................................................................................................................................. 151
Indice del contenuto
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 9
19 Appendice.............................................................................................................................................. 153 19.1 Elaborazione manuale dei valori................................................................................................153 19.2 Modulazione di ampiezza degli impulsi .....................................................................................153 19.3 Diramazione valore istantaneo ..................................................................................................154 19.4 Curva caratteristica con campo del valore regolante bipolare...................................................154 19.5 Curva caratteristica con campo del valore regolante unipolare.................................................155 19.6 Algoritmo a passi PI ...................................................................................................................155 19.7 Algoritmo PID.............................................................................................................................155 19.8 Formazione della deviazione di regolazione..............................................................................156 19.9 Diramazione valore di riferimento ..............................................................................................156 19.10 Elaborazione del valore regolante .............................................................................................156 19.11 Inserzione segnale di disturbo ...................................................................................................156 19.12 Curva caratteristica simmetrica per regolatore a tre punti .........................................................157 19.13 Curva caratteristica asimmetrica per regolatore a tre punti .......................................................158
Indice analitico....................................................................................................................................... 159
Indice del contenuto
CFC - Blocchi elementari 10 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 11
Parametri di blocco EN, ENO, SAMPLE_T 1EN
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 p.es. 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.
Parametri di blocco EN, ENO, SAMPLE_T
CFC - Blocchi elementari 12 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 13
Avviamento con le CPU S7-300 2Avviamento
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.
Avviamento con le CPU S7-300
CFC - Blocchi elementari 14 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 15
Blocchi CFC 3Sono disponibili le seguenti famiglie di blocchi CFC:
Famiglia Utilizzo BIT-LGC (Pagina 17) Blocchi logici del tipo di dati BOOL. WRD_LGC (Pagina 25)
Blocchi logici del tipo di dati WORD e DWORD
COMPARE (Pagina 35)
Blocchi per il confronto di due valori di ingresso dello stesso tipo
CONVERT (Pagina 39)
Blocchi per la conversione di diversi tipi di dati
MATH_FP (Pagina 53)
Blocchi aritmetici del tipo di dati REAL
MATH_INT (Pagina 69)
Blocchi aritmetici del tipo di dati INT e DINT
FLIPFLOP (Pagina 85)
Blocchi flip-flop
SHIFT (Pagina 87) Blocchi shift MULTIPLX (Pagina 93)
Blocchi multiplex
COUNTER (Pagina 99)
Blocchi contatori
IMPULS (Pagina 103)
Blocchi per la generazione o l'elaborazione di impulsi
TIME (Pagina 111) Blocchi per la rilevazione o l’elaborazione di momenti e intervalli CONTROL (Pagina 113)
Blocchi di controllo
SYSTEM (Pagina 141)
Blocchi per le funzioni di sistema
IK (Pagina 147) Blocchi IK
Blocchi CFC
CFC - Blocchi elementari 16 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 17
Blocchi logici con il tipo di dati BOOL 44.1 BIT-LGC
Blocchi CFC della famiglia "BIT_LGC" In questa famiglia sono implementati i seguenti blocchi che consentono di realizzare combinazioni logiche. AND (Pagina 18) Combinazione logica AND OR (Pagina 19) Combinazione logica OR XOR (Pagina 20) Combinazione antivalente. NAND (Pagina 21) Combinazione logica NAND NOR (Pagina 22) Combinazione logica NOR NOT (Pagina 23) Combinazione logica NOT
Blocchi logici con il tipo di dati BOOL 4.2 AND: Combinazione logica AND
CFC - Blocchi elementari 18 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 per n = 2) IN1 IN2 OUT 0 0 0 0 1 0 1 0 0 1 1 1
Connessioni Nome Tipo di dati Preimpostazione
IN1 BOOL 1 IN2 BOOL 1 ... ...
Ingressi
INn BOOL 1 Uscita OUT BOOL 1
Blocchi logici con il tipo di dati BOOL 4.3 OR: Combinazione logica OR
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 19
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 per n = 2) IN1 IN2 OUT 0 0 0 0 1 1 1 0 1 1 1 1
Connessioni Nome Tipo di dati Preimpostazione
IN1 BOOL 0 IN2 BOOL 0 ... ...
Ingressi
INn BOOL 0 Uscita OUT BOOL 0
Blocchi logici con il tipo di dati BOOL 4.4 XOR: Combinazione antivalente.
CFC - Blocchi elementari 20 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 per n = 2) IN1 IN2 OUT 0 0 0 0 1 1 1 0 1 1 1 0
Connessioni Nome Tipo di dati Preimpostazione
IN1 BOOL 0 IN2 BOOL 0 ... ...
Ingressi
INn BOOL 0 Uscita OUT BOOL 0
Blocchi logici con il tipo di dati BOOL 4.5 NAND: Combinazione logica NAND
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 21
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 per n = 2) IN1 IN2 OUT 0 0 1 0 1 1 1 0 1 1 1 0
Connessioni Nome Tipo di dati Preimpostazione
IN1 BOOL 1 IN2 BOOL 1 ... ...
Ingressi
INn BOOL 1 Uscita OUT BOOL 0
Blocchi logici con il tipo di dati BOOL 4.6 NOR: Combinazione logica NOR
CFC - Blocchi elementari 22 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 per n = 2) IN1 IN2 OUT 0 0 1 0 1 0 1 0 0 1 1 0
Connessioni Nome Tipo di dati Preimpostazione
IN1 BOOL 0 IN2 BOOL 0 ... ...
Ingressi
INn BOOL 0 Uscita OUT BOOL 1
Blocchi logici con il tipo di dati BOOL 4.7 NOT: Combinazione logica NOT
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 23
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
Blocchi logici con il tipo di dati BOOL 4.7 NOT: Combinazione logica NOT
CFC - Blocchi elementari 24 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 25
Blocchi logici con i tipi di dati WORD e DWORD 55.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 (Pagina 26) Combinazione logica AND a parola WAND_DW (Pagina 32) Combinazione logica AND a doppia parola WOR_W (Pagina 27) Combinazione logica OR a parola WOR_DW (Pagina 32) Combinazione logica OR a doppia parola WXOR_W (Pagina 28) Combinazione antivalente a parola WXOR_DW (Pagina 33) Combinazione antivalente a doppia parola WNAND_W (Pagina 29) Combinazione logica NAND a parola WNAND_DW (Pagina 33) Combinazione logica NAND a doppia parola WNOR_W (Pagina 30) Combinazione logica NOR a parola WNOR_DW (Pagina 34) Combinazione logica NOR a doppia parola WNOT_W (Pagina 31) Combinazione logica NOT a parola WNOT_DW (Pagina 34) Combinazione logica NOT a doppia parola
Blocchi logici con i tipi di dati WORD e DWORD 5.2 WAND_W: Combinazione logica AND a parola
CFC - Blocchi elementari 26 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
IN1 WORD 0 IN2 WORD 0
Ingressi
... Uscita OUT WORD 0
Blocchi logici con i tipi di dati WORD e DWORD 5.3 WOR_W: Combinazione logica OR a parola
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 27
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
IN1 WORD 0 IN2 WORD 0
Ingressi
... Uscita OUT WORD 0
Blocchi logici con i tipi di dati WORD e DWORD 5.4 WXOR_W: Combinazione antivalente a parola
CFC - Blocchi elementari 28 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
IN1 WORD 0 IN2 WORD 0
Ingressi
... Uscita OUT WORD 0
Blocchi logici con i tipi di dati WORD e DWORD 5.5 WNAND_W: Combinazione logica AND a doppia parola
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 29
5.5 WNAND_W: Combinazione logica AND a doppia 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
IN1 WORD 0 IN2 WORD 0
Ingressi
... Uscita OUT WORD 0
Blocchi logici con i tipi di dati WORD e DWORD 5.6 WNOR_W: Combinazione logica NOR a parola
CFC - Blocchi elementari 30 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
IN1 WORD 0 Ingressi IN2 WORD 0
Uscita OUT WORD 0
Blocchi logici con i tipi di dati WORD e DWORD 5.7 WNOT_W
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 31
5.7 WNOT_W
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
Blocchi logici con i tipi di dati WORD e DWORD 5.8 WAND_DW
CFC - Blocchi elementari 32 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
5.8 WAND_DW
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
IN1 DWORD 0 Ingressi IN2 DWORD 0
Uscita OUT DWORD 0
5.9 WOR_DW
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
IN1 DWORD 0 Ingressi IN2 DWORD 0
Uscita OUT DWORD 0
Blocchi logici con i tipi di dati WORD e DWORD 5.10 WXOR_DW
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 33
5.10 WXOR_DW
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
IN1 DWORD 16#0 Ingressi IN2 DWORD 16#0
Uscita OUT DWORD 16#00000000
5.11 WNAND_DW
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
IN1 DWORD 0 Ingressi IN2 DWORD 0
Uscita OUT DWORD 0
Blocchi logici con i tipi di dati WORD e DWORD 5.12 WNOR_DW
CFC - Blocchi elementari 34 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
5.12 WNOR_DW
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
IN1 DWORD 0 Ingressi IN2 DWORD 0
Uscita OUT DWORD 0
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 0
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 35
Blocchi per il confronto di due valori di ingresso dello stesso tipo 66.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 (Pagina 35) Comparatore per valori INT CMP_DI (Pagina 36) Comparatore per valori DINT CMP_R (Pagina 37) Comparatore per valori REAL CMP_T (Pagina 38) Comparatore per valori TIME
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 LT = 1 se IN1 < IN2 LE = 1 se IN1 IN2 In ognuno di questi casi le altre uscite vengono impostate a 0.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN1 INT Valore ingresso 1 0 Ingressi IN2 INT Valore ingresso 2 0 GT BOOL 1, IN1 > IN2 0 GE BOOL 1, IN1 IN2 0 EQ BOOL 1, IN1 = IN2 0 LT BOOL 1, IN1 < IN2 0
Uscite
LE BOOL 1, IN1 IN2 0
Blocchi per il confronto di due valori di ingresso dello stesso tipo 6.3 CMP_DI: Comparatore per valori DINT
CFC - Blocchi elementari 36 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 LT = 1 se IN1 < IN2 LE = 1 se IN1 IN2 In ognuno di questi casi le altre uscite vengono impostate a 0.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN1 DINT Valore ingresso 1 0 Ingressi IN2 DINT Valore ingresso 2 0 GT BOOL 1, IN1 > IN2 0 GE BOOL 1, IN1 IN2 0 EQ BOOL 1, IN1 = IN2 0 LT BOOL 1, IN1 < IN2 0
Uscite
LE BOOL 1, IN1 IN2 0
Blocchi per il confronto di due valori di ingresso dello stesso tipo 6.4 CMP_R: Comparatore per valori REAL
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 37
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 uscite vengono impostate a 0.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN1 REAL Valore ingresso 1 0 Ingressi IN2 REAL Valore ingresso 2 0 GT BOOL 1, IN1 > IN2 0 GE BOOL 1, IN1 IN2 0 EQ BOOL 1, IN1 = IN2 0 LT BOOL 1, IN1 < IN2 0
Uscite
LE BOOL 1, IN1 IN2 0
Blocchi per il confronto di due valori di ingresso dello stesso tipo 6.5 CMP_T: Comparatore per valori TIME
CFC - Blocchi elementari 38 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 LT = 1 se IN1 < IN2 LE = 1 se IN1 IN2 In ognuno di questi casi le altre uscite vengono impostate a 0.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN1 TIME Valore ingresso 1 0 Ingressi IN2 TIME Valore ingresso 2 0 GT BOOL 1, IN1 > IN2 0 GE BOOL 1, IN1 IN2 0 EQ BOOL 1, IN1 = IN2 0 LT BOOL 1, IN1 < IN2 0
Uscite
LE BOOL 1, IN1 IN2 0
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 39
Blocchi per la conversione di diversi tipi di dati 77.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).
Blocchi per la conversione di diversi tipi di dati 7.1 CONVERT
CFC - Blocchi elementari 40 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 41) Converte BYTE in DWORD BY_W (Pagina 41) Converte BYTE in WORD DI_DW (Pagina 42) Converte DINT in DWORD DI_I (Pagina 42) Converte DINT in INT DI_R (Pagina 43) Converte DINT in REAL DW_DI (Pagina 43) Converte DWORD in DINT DW_R (Pagina 44) Converte DWORD in REAL DW_W (Pagina 44) Converte DWORD in WORD I_DI (Pagina 45) Converte INT in DINT I_DW (Pagina 45) Converte INT in DWORD I_R (Pagina 46) Converte INT in REAL I_W (Pagina 46) Converte INT in WORD R_DI (Pagina 47) Converte REAL in DINT R_DW (Pagina 47) Converte REAL in DWORD R_I (Pagina 48) Converte REAL in INT W_BY (Pagina 48) Converte WORD in BYTE W_DW (Pagina 49) Converte WORD in DWORD W_I (Pagina 49) 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 50) Converte BOOL in BYTE, 8 ingressi BO_W (Pagina 50) Converte BOOL in WORD, 16 ingressi BO_DW (Pagina 51) 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 51) Converte BYTE in BOOL, 8 uscite W_BO (Pagina 52) Converte WORD in BOOL, 16 uscite DW_BO (Pagina 52) Converte DWORD in BOOL, 32 uscite
Blocchi per la conversione di diversi tipi di dati 7.2 BY_DW
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 41
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
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
Blocchi per la conversione di diversi tipi di dati 7.4 DI_DW
CFC - Blocchi elementari 42 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
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
Blocchi per la conversione di diversi tipi di dati 7.6 DI_R
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 43
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
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
Blocchi per la conversione di diversi tipi di dati 7.8 DW_R
CFC - Blocchi elementari 44 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
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
Blocchi per la conversione di diversi tipi di dati 7.10 I_DI
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 45
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
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
Blocchi per la conversione di diversi tipi di dati 7.12 I_R
CFC - Blocchi elementari 46 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
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
Blocchi per la conversione di diversi tipi di dati 7.14 R_DI
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 47
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
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
Blocchi per la conversione di diversi tipi di dati 7.16 R_I
CFC - Blocchi elementari 48 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
7.16 R_I
Funzione Il numero REAL di IN viene convertito verso OUT.
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
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
Blocchi per la conversione di diversi tipi di dati 7.18 W_DW
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 49
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
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
Blocchi per la conversione di diversi tipi di dati 7.20 BO_BY
CFC - Blocchi elementari 50 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
IN0 BOOL 0 ... ...
Ingressi
IN7 BOOL 0 Uscita OUT BYTE 0
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
IN0 BOOL 0 ... ...
Ingressi
IN15 BOOL 0 Uscita OUT WORD 0
Blocchi per la conversione di diversi tipi di dati 7.22 BO_DW
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 51
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
IN0 BOOL 0 ... ...
Ingressi
IN31 BOOL 0 Uscita OUT DWORD 0
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
OUT0 BOOL 0 ... ...
Uscite
OUT7 BOOL 0
Blocchi per la conversione di diversi tipi di dati 7.24 W_BO
CFC - Blocchi elementari 52 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
OUT0 BOOL 0 ... ...
Uscite
OUT15 BOOL 0
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
OUT0 BOOL 0 ... ...
Uscite
OUT31 BOOL 0
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 53
Blocchi aritmetici del tipo di dati REAL 88.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 (Pagina 54) Addizione di valori REAL SUB_R (Pagina 54) Sottrazione di valori REAL MUL_R (Pagina 55) Moltiplicazione di valori REAL DIV_R (Pagina 55) Divisione di valori REAL ABS_R (Pagina 58) Valore assoluto dei valori REAL EPS_R (Pagina 65) Precisione; approssimazione NEG_R (Pagina 64) Negazione di valori REAL MAXn_R (Pagina 56) Massimo dei valori REAL MINn_R (Pagina 57) Minimo dei valori REAL LIM_R (Pagina 64) Delimitatore di valori REAL CADD_R (Pagina 66) Addizionatore comandabile di valori REAL SQRT (Pagina 58) Radice quadrata EXP (Pagina 59) Funzione esponenziale POW10 (Pagina 59) Funzione di potenza alla decima LN (Pagina 60) Logaritmo naturale LOG10 (Pagina 60) Logaritmo a base 10 SIN (Pagina 61) Funzione sinusoidale COS (Pagina 61) Funzione coseno TAN (Pagina 62) Funzione tangente ASIN (Pagina 62) Funzione arcoseno ACOS (Pagina 63) Funzione arcosinusoidale ATAN (Pagina 63) Funzione arcotangente POWXY (Pagina 67) Funzione di potenza generale SAMP_AVE (Pagina 68) Valore medio in virgola mobile
Nota Il campo valori dei numeri reali è: -3,40282e^+38 ... -1,755e^-38 ... 0 ... 1,755e^-38 ... 3,40282e^+38
Blocchi aritmetici del tipo di dati REAL 8.2 ADD_R: Addizione di valori REAL
CFC - Blocchi elementari 54 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
8.2 ADD_R: Addizione di valori 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
IN1 REAL Addendo 1 0.0 Ingressi IN2 REAL Addendo 2 0.0
Uscita OUT REAL Somma 0.0
8.3 SUB_R: Sottrazione di valori 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
IN1 REAL Minuendo 0.0 Ingressi IN2 REAL Sottraendo 0.0
Uscita OUT REAL Differenza 0.0
Blocchi aritmetici del tipo di dati REAL 8.4 MUL_R: Moltiplicazione di valori REAL
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 55
8.4 MUL_R: Moltiplicazione di valori 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
IN1 REAL Moltiplicando 0.0 Ingressi IN2 REAL Moltiplicatore 0.0
Uscita OUT REAL Prodotto 0.0
8.5 DIV_R: Divisione di valori 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
IN1 REAL Dividendo 0.0 Ingressi IN2 REAL Divisore 0.0
Uscita OUT REAL Quoziente 0.0
Blocchi aritmetici del tipo di dati REAL 8.6 MAXn_R: Massimo dei valori REAL
CFC - Blocchi elementari 56 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
8.6 MAXn_R: Massimo dei valori 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
IN1 REAL Valore ingresso 1 0.0 ...
Ingressi
INn REAL Valore ingresso n 0.0 Uscita OUT REAL Valore massimo 0.0
Blocchi aritmetici del tipo di dati REAL 8.7 MINn_R: Minimo dei valori REAL
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 57
8.7 MINn_R: Minimo dei valori 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
IN1 REAL Valore ingresso 1 0.0 ...
Ingressi
INn REAL Valore ingresso n 0.0 Uscita OUT REAL Valore massimo 0.0
Blocchi aritmetici del tipo di dati REAL 8.8 ABS_R: Valore assoluto dei valori REAL
CFC - Blocchi elementari 58 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
8.8 ABS_R: Valore assoluto dei valori 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
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
Blocchi aritmetici del tipo di dati REAL 8.10 EXP: Funzione esponenziale
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 59
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
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
Blocchi aritmetici del tipo di dati REAL 8.12 LN: Logaritmo naturale
CFC - Blocchi elementari 60 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
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
Blocchi aritmetici del tipo di dati REAL 8.14 SIN: Funzione sinusoidale
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 61
8.14 SIN: Funzione sinusoidale
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
8.15 COS: Funzione 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
Blocchi aritmetici del tipo di dati REAL 8.16 TAN: Funzione tangente
CFC - Blocchi elementari 62 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
8.16 TAN: Funzione 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
8.17 ASIN: Funzione arcoseno
Funzione Questo blocco calcola l'arcoseno dell'ingresso e fornisce il risultato in uscita. Il risultato viene espresso in radianti e ha un valore compreso tra - /2 e + /2. L'argomento della funzione deve essere compreso fra 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
Blocchi aritmetici del tipo di dati REAL 8.18 ACOS: Funzione arcocoseno
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 63
8.18 ACOS: Funzione arcocoseno
Funzione Questo blocco calcola l'arcocoseno dell'ingresso e fornisce il risultato in uscita. Il risultato viene espresso in radianti e ha un valore compreso fra 0 e . L'argomento della funzione deve essere compreso fra 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
8.19 ATAN: Funzione arcotangente
Funzione Questo blocco calcola l'arcotangente dell'ingresso e fornisce il risultato in uscita. Il risultato viene indicato in radianti e ha un valore compreso tra - /2 e + /2. Come campo dell’argomento è ammesso 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
Blocchi aritmetici del tipo di dati REAL 8.20 NEG_R
CFC - Blocchi elementari 64 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
8.20 NEG_R
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
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 è pari o maggiore rispetto al limite superiore MAX, l'uscita OUT = MAX nonché le uscite OUTU e OUTL vengono impostate sul valore 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.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN REAL Valore ingresso 0.0 MIN REAL Limite inferiore -100.0
Ingressi
MAX REAL Limite superiore 100.0 OUT REAL Valore di uscita 0 OUTU BOOL Superamento limite superiore 0
Uscite
OUTL BOOL Superamento limite inferiore 0
Blocchi aritmetici del tipo di dati REAL 8.22 EPS_R
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 65
8.22 EPS_R
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
IN REAL Valore ingresso 0.0 Ingressi INTERVAL REAL Limite di intervallo 0.0 QA BOOL Merker di validità 0 Uscite QN BOOL Merker di validità invertito 0
Blocchi aritmetici del tipo di dati REAL 8.23 CADD_R
CFC - Blocchi elementari 66 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
8.23 CADD_R
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
IN REAL Addendo 0.0 RI BOOL Resetta 0 SI BOOL Imposta 0
Ingressi
CI BOOL Conta 0 Uscita OUT REAL Somma 0.0
Blocchi aritmetici del tipo di dati REAL 8.24 POWXY: Funzione di potenza generale
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 67
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
Gestione degli errori In presenza di overflow o underflow, M7 commuta allo stato STOP.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN1 REAL Base 0.0 Ingressi IN2 REAL Esponente 0.0
Uscita OUT REAL Valore di uscita 0.0
Blocchi aritmetici del tipo di dati REAL 8.25 SAMP_AVE: Valore medio in virgola mobile
CFC - Blocchi elementari 68 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
IN REAL Valore ingresso 0.0 Ingressi N INT Quantità dei valori di ingresso
considerati 1
Uscita OUT REAL Valore medio 0.0
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 69
Blocchi aritmetici del tipo di dati INT e DINT 99.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 (Pagina 70) Addizione di valori INT ADD_DI (Pagina 77) Addizione di valori DINT SUB_I (Pagina 70) Sottrazione di valori INT SUB_DI (Pagina 77) Sottrazione di valori DINT MUL_I (Pagina 71) Moltiplicazione di valori INT MUL_DI (Pagina 78) Moltiplicazione di valori DINT DIV_I (Pagina 71) Divisione di valori INT DIV_DI (Pagina 78) Divisione di valori DINT ABS_I (Pagina 73) Valore assoluto di valori INT ABS_DI (Pagina 80) Valore assoluto di valori DINT EPS_I (Pagina 75) Precisione; approssimazione di valori INT EPS_DI (Pagina 82) Precisione; approssimazione di valori DINT NEG_I (Pagina 74) Negatore di valori INT NEG_DI (Pagina 81) Negatore di valori DINT MOD_I (Pagina 72) Funzione modulo di valori INT MOD_DI (Pagina 79) Funzione modulo di valori DINT MAXn_I (Pagina 72) Massimo di valori INT MAXn_DI (Pagina 79) Massimo di valori DINT MINn_I (Pagina 73) Minimo di valori INT MINn_DI (Pagina 80) Minimo di valori DINT LIM_I (Pagina 74) Limitatore di valori INT LIM_DI (Pagina 81) Limitatore di valori DINT CADD_I (Pagina 76) Addizionatore controllabile di valori INT CADD_DI (Pagina 83) Addizionatore controllabile di valori DINT
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
Blocchi aritmetici del tipo di dati INT e DINT 9.2 ADD_I: Addizione di valori INT
CFC - Blocchi elementari 70 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
IN1 INT Addendo 1 0 Ingressi IN2 INT Addendo 2 0
Uscita OUT INT Somma 0
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
IN1 INT Minuendo 0 Ingressi IN2 INT Sottraendo 0
Uscita OUT INT Differenza 0
Blocchi aritmetici del tipo di dati INT e DINT 9.4 MUL_I: Moltiplicazione di valori INT
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 71
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
IN1 INT Moltiplicando 0 Ingressi IN2 INT Moltiplicatore 0
Uscita OUT INT Prodotto 0
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
IN1 INT Dividendo 0 Ingressi IN2 INT Divisore 0
Uscita OUT INT Quoziente 0
Blocchi aritmetici del tipo di dati INT e DINT 9.6 MOD_I: Funzione modulo di valori INT
CFC - Blocchi elementari 72 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 71) dell'ingresso IN1 diviso per l'ingresso IN2.
Gestione degli errori ENO = 0 con divisione per 0.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN1 INT Dividendo 0 Ingressi IN2 INT Divisore 0
Uscita OUT INT Resto della divisione 0
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
IN1 INT Valore ingresso 1 0 ...
Ingressi
INn INT Valore ingresso n 0 Uscita OUT INT Valore massimo 0
Blocchi aritmetici del tipo di dati INT e DINT 9.8 MINn_I: Minimo di valori INT
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 73
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
IN1 INT Valore ingresso 1 0 ...
Ingressi
INn INT Valore ingresso n 0 Uscita OUT INT Valore massimo 0
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
Blocchi aritmetici del tipo di dati INT e DINT 9.10 NEG_I: Negatore di valori INT
CFC - Blocchi elementari 74 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 in IN = -32 768
Connessioni Nome Tipo di dati Commento Preimpostazione Ingresso IN INT Valore ingresso 0 Uscita OUT INT Valore di uscita 0
9.11 LIM_I: Limitatore di valori INT
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 supera il limite superiore MAX, l'uscita OUT = MAX nonché le uscite OUTU e OUTL vengono impostate sul valore 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.
Gestione degli errori ENO = 0 in MIN > MAX --> OUT = MAX; OUTU = OUTL = 1
Connessioni Nome Tipo di dati Commento Preimpostazione
MAX INT Limite superiore 0 IN INT Valore ingresso 0
Ingressi
MIN INT Limite inferiore 0 OUTU BOOL Superamento limite superiore 0 OUTL BOOL Superamento limite inferiore 0
Uscite
OUT INT Valore di uscita 0
Blocchi aritmetici del tipo di dati INT e DINT 9.12 EPS_I: Genauigkeit Approximation von INT-Werten
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 75
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 è 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. 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
IN INT Valore ingresso 0 Ingressi INTERVAL INT Limite dell'intervallo 0 QA BOOL Merker di validità 0 Uscite QN BOOL Merker di validità invertito 0
Blocchi aritmetici del tipo di dati INT e DINT 9.13 CADD_I: Addizionatore controllabile di valori INT
CFC - Blocchi elementari 76 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
IN INT Addendo 0 RI BOOL Resetta 0 SI BOOL Imposta 0
Ingressi
CI BOOL Conta 0 Uscita OUT INT Somma 0
Blocchi aritmetici del tipo di dati INT e DINT 9.14 ADD_DI: Addizione di valori DINT
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 77
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
IN1 DINT Addendo 1 0 Ingressi IN2 DINT Addendo 2 0
Uscita OUT DINT Somma 0
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
IN1 DINT Minuendo 0 Ingressi IN2 DINT Sottraendo 0
Uscita OUT DINT Differenza 0
Blocchi aritmetici del tipo di dati INT e DINT 9.16 MUL_DI: Moltiplicazione di DINT
CFC - Blocchi elementari 78 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
IN1 DINT Moltiplicando 0 Ingressi IN2 DINT Moltiplicatore 0
Uscita OUT DINT Prodotto 0
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
IN1 DINT Dividendo 0 Ingressi IN2 DINT Divisore 0
Uscita OUT DINT Quoziente 0
Blocchi aritmetici del tipo di dati INT e DINT 9.18 MOD_DI: Funzione modulo di valori DINT
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 79
9.18 MOD_DI: Funzione modulo di valori DINT
Funzione Questo blocco fornisce in uscita il resto della divisione di numeri interi DIV_DI (Pagina 78) dell'ingresso IN1 diviso per l'ingresso IN2.
Gestione degli errori ENO = 0 con divisione per 0.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN1 DINT Dividendo 0 Ingressi IN2 DINT Divisore 0
Uscita OUT DINT Resto della divisione 0
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
IN1 DINT Valore ingresso 1 0 ...
Ingressi
INn DINT Valore ingresso n 0 Uscita OUT DINT Valore massimo 0
Blocchi aritmetici del tipo di dati INT e DINT 9.20 MINn_DI: Minimo di valori DINT
CFC - Blocchi elementari 80 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
IN1 DINT Valore ingresso 1 0 ...
Ingressi
INn DINT Valore ingresso n 0 Uscita OUT DINT Valore massimo 0
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
Blocchi aritmetici del tipo di dati INT e DINT 9.22 NEG_DI: Negatore di valori DINT
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 81
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
9.23 LIM_DI: Limitatore di valori DINT
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 supera il limite superiore MAX, l'uscita OUT = MAX nonché le uscite OUTU e OUTL vengono impostate sul valore 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.
Gestione degli errori ENO = 0 in MIN > MAX --> OUT = MAX; OUTU = OUTL = 1
Connessioni Nome Tipo di dati Commento Preimpostazione
MAX DINT Limite superiore 0 IN DINT Valore ingresso 0
Ingressi
MIN DINT Limite inferiore 0 OUTU BOOL Superamento limite superiore 0 OUTL BOOL Superamento limite inferiore 0
Uscite
OUT DINT Valore di uscita 0
Blocchi aritmetici del tipo di dati INT e DINT 9.24 EPS_DI: Genauigkeit Approximation von DINT-Werten
CFC - Blocchi elementari 82 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 è 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. INTERVAL deve avere un valore positivo. Se INTERVAL è uguale a 0, QA = 0.
Gestione degli errori ENO = 0 con IN = -2 147 483 648
Connessioni Nome Tipo di dati Commento Preimpostazione
IN DINT Valore ingresso 0 Ingressi INTERVAL DINT Limite dell'intervallo 0 QA BOOL Merker di validità 0 Uscite QN BOOL Merker di validità
invertito 0
Blocchi aritmetici del tipo di dati INT e DINT 9.25 CADD_DI: Addizionatore controllabile di valori DINT
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 83
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
IN DINT Addendo 0 RI BOOL Resetta 0 SI BOOL Imposta 0
Ingressi
CI BOOL Conta 0 Uscita OUT DINT Somma 0
Blocchi aritmetici del tipo di dati INT e DINT 9.25 CADD_DI: Addizionatore controllabile di valori DINT
CFC - Blocchi elementari 84 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 85
Blocchi flip-flop 1010.1 FLIPFLOP
Blocchi CFC della famiglia "FLIPFLOP" In questa famiglia sono implementati i seguenti blocchi flip-flop: JK_FF (Pagina 85)
JK-FlipFlop
RS_FF (Pagina 86)
RS-FlipFlop R resettaggio dominante
SR_FF (Pagina 86)
RS-FlipFlop S impostazione dominante
10.2 JK_FF
Funzione
J K n n 0 0 n-1 n-1 0 1 0 1 1 0 1 0 1 1 n-1 n-1*
* le uscite cambiano il valore con lo stesso ritmo dei livelli di esecuzione impostati
Connessioni Nome Tipo di dati Commento Preimpostazione
J BOOL Imposta 0 Ingressi K BOOL Resetta 0
BOOL Uscita 0 Uscite
BOOL Uscita negata 1
Blocchi flip-flop 10.3 RS_FF: RS-FlipFlop R resettaggio dominante
CFC - Blocchi elementari 86 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
10.3 RS_FF: RS-FlipFlop R resettaggio dominante
Funzione R R n n 0 0 n-1 n-1 0 1 1 0 1 0 0 1 1 1 0 1
Connessioni Nome Tipo di dati Commento Preimpostazione
R BOOL Resetta 0 Ingressi R BOOL Imposta 0
BOOL Uscita 0 Uscite
BOOL Uscita negata 1
10.4 SR_FF: RS-FlipFlop S impostazione dominante
Funzione R R n n 0 0 n-1 n-1 0 1 1 0 1 0 0 1 1 1 1 0
Connessioni Nome Tipo di dati Commento Preimpostazione
R BOOL Resetta 0 Ingressi R BOOL Imposta 0
BOOL Uscita 0 Uscite
BOOL Uscita negata 1
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 87
Blocchi shift 1111.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 (Pagina 87) Scorrimento WORD verso sinistra SHL_DW (Pagina 88) Scorrimento DWORD verso sinistra SHR_W (Pagina 88) Scorrimento WORD verso destra SHR_DW (Pagina 89) Scorrimento DWORD verso destra ROL_W (Pagina 89) Rotazione WORD verso sinistra ROL_DW (Pagina 90) Rotazione DWORD verso sinistra ROR_W (Pagina 90) Rotazione WORD verso destra ROR_DW (Pagina 91) Rotazione DWORD verso destra
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 indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN WORD Valore di ingresso 0 Ingressi N WORD Numero delle posizioni di
scorrimento 0
Uscita OUT WORD Uscita 0
Blocchi shift 11.3 SHL_DW: Scorrimento DWORD verso sinistra
CFC - Blocchi elementari 88 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN DWORD Valore di ingresso 0 Ingressi N WORD Numero delle posizioni di
scorrimento 0
Uscita OUT DWORD Uscita 0
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
IN WORD Valore di ingresso 0 Ingressi N WORD Numero delle posizioni di
scorrimento 0
Uscita OUT WORD Uscita 0
Blocchi shift 11.5 SHR_DW: Scorrimento DWORD verso destra
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 89
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
IN DWORD Valore di ingresso 0 Ingressi N WORD Numero delle posizioni di
scorrimento 0
Uscita OUT DWORD Uscita 0
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 indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN WORD Valore di ingresso 0 Ingressi N WORD Numero rotazioni 0
Uscita OUT WORD Uscita 0
Blocchi shift 11.7 ROL_DW: Rotazione DWORD verso sinistra
CFC - Blocchi elementari 90 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN DWORD Valore di ingresso 0 Ingressi N WORD Numero rotazioni 0
Uscita OUT DWORD Uscita 0
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 indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN WORD Valore di ingresso 0 Ingressi N WORD Numero rotazioni 0
Uscita OUT WORD Uscita 0
Blocchi shift 11.9 ROR_DW: Rotazione DWORD verso destra
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 91
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 indicate nell’ingresso N. Il risultato viene emesso all’uscita.
Connessioni Nome Tipo di dati Commento Preimpostazione
IN DWORD Valore di ingresso 0 Ingressi N WORD Numero rotazioni 0
Uscita OUT DWORD Uscita 0
Blocchi shift 11.9 ROR_DW: Rotazione DWORD verso destra
CFC - Blocchi elementari 92 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 93
Blocchi multiplex 1212.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 (Pagina 94) Multiplexer 1 da n per valori INT (n = 2, 4, 8) MUXn_DI (Pagina 95) Multiplexer 1 da n per valori DINT (n = 2, 4, 8) MUXn_R (Pagina 96) Multiplexer 1 da n per valori REAL (n = 2, 4, 8) MUXn_BO (Pagina 97) Multiplexer 1 da n per valori BOOL (n = 2, 4, 8) SEL_BO (Pagina 98) Multiplexer 1 da 2 per valori BOOL SEL_R (Pagina 98) Multiplexer 1 da 2 per valori REAL
Blocchi multiplex 12.2 MUXn_I: Multiplexer 1 da n per valori INT
CFC - Blocchi elementari 94 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
K: 0 1 2 OUT: IN0 IN1 K: 0 1 2 3 4 OUT: IN0 IN1 IN2 IN3 K: 0 1 2 3 4 5 6 7 8 OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Connessioni Nome Tipo di dati Commento Preimpostazione
K INT Ingresso selez. 0 IN0 INT Valore 1 0 ... ...
Ingressi
INm (n-1) INT Valore n 0 Uscita OUT INT Uscita 0
Blocchi multiplex 12.3 MUXn_DI: Multiplexer 1 aus n für DINT-Werte
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 95
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
K: 0 1 2 OUT: IN0 IN1 K: 0 1 2 3 4 OUT: IN0 IN1 IN2 IN3 K: 0 1 2 3 4 5 6 7 8 OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Connessioni Nome Tipo di dati Commento Preimpostazione
K INT Ingresso selez. 0 IN0 DINT Valore 1 0 ... ...
Ingressi
INm (n-1) DINT Valore n 0 Uscita OUT DINT Uscita 0
Blocchi multiplex 12.4 MUXn_R: Multiplexer 1 aus n für REAL-Werte
CFC - Blocchi elementari 96 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
K: 0 1 2 OUT: IN0 IN1 K: 0 1 2 3 4 OUT: IN0 IN1 IN2 IN3 K: 0 1 2 3 4 5 6 7 8 OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Connessioni Nome Tipo di dati Commento Preimpostazione
K INT Ingresso selez. 0 IN1 REAL Valore 1 0 ... ...
Ingressi
INm REAL Valore m (m=n-1) 0 Uscita OUT REAL Uscita 0
Blocchi multiplex 12.5 MUXn_BO: Multiplexer 1 aus n für BOOL-Werte
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 97
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
K: 0 1 2 OUT: IN0 IN1 K: 0 1 2 3 4 OUT: IN0 IN1 IN2 IN3 K: 0 1 2 3 4 5 6 7 8 OUT: IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
Connessioni Nome Tipo di dati Commento Preimpostazione
K INT Ingresso selez. 0 IN0 BOOL Valore 1 0 ... ...
Ingressi
INm (n-1) BOOL Valore n 0 Uscita OUT BOOL Uscita 0
Blocchi multiplex 12.6 SEL_BO: Multiplexer 1 da 2 per valori BOOL
CFC - Blocchi elementari 98 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
K BOOL 0 IN0 BOOL 0
Ingressi
IN1 BOOL 0 Uscita OUT BOOL 0
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
K BOOL 0 IN0 REAL 0.0
Ingressi
IN1 REAL 0.0 Uscita OUT REAL 0.0
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 99
Blocchi di conteggio 1313.1 COUNTER
Blocchi CFC della famiglia "COUNTER" In questa famiglia sono inclusi i seguenti blocchi contatore: CTU (Pagina 100) Contatore in avanti CTD (Pagina 101) Contatore all’indietro CTUD (Pagina 102) Contatore in avanti/all’indietro
Blocchi di conteggio 13.2 CTU: Contatore in avanti
CFC - Blocchi elementari 100 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 con il 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. Al raggiungimento del valore INT massimo il contatore viene fermato. Il contatore viene azzerato con un reset e può ricominciare il conteggio. Q = 0, se CV = max. INT (32767) 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
CU BOOL Impulso in avanti 0 R BOOL Resetta 0 R BOOL Imposta (carico) 0
Ingressi
PV INT Valore di carico 1000 Q BOOL Overflow 0 Uscite CV INT Stato contatore 0
Blocchi di conteggio 13.3 CTD: Contatore all’indietro
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 101
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 = max. INT (-32768) 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 CD 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
CD BOOL Impulso all’indietro 0 R BOOL Resetta 0 R BOOL Imposta (carico) 0
Ingressi
PV INT Valore di carico 1000 Q BOOL Overflow negativo 0 Uscite CV INT Stato contatore 0
Blocchi di conteggio 13.4 CTUD: Contatore in avanti/all’indietro
CFC - Blocchi elementari 102 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 >= 0 QU = 0, se CV = max. INT (32767) QD = 0, se CV = min. INT (-32768) QD = 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 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
CU BOOL Impulso in avanti 0 CD BOOL Impulso all’indietro 0 R BOOL Resetta 0 R BOOL Imposta (carico) 0
Ingressi
PV INT Valore di carico 1000 QU BOOL Contatore al limite superiore 0 QD BOOL Contatore al limite inferiore 0
Uscite
CV INT Stato contatore 0
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 103
Blocchi per la generazione o l'elaborazione di impulsi 1414.1 IMPULS
Blocchi CFC della famiglia "IMPULS" Questa famiglia contiene i seguenti blocchi per l'elaborazione degli impulsi: TIMER_P (Pagina 104) generatore di impulsi R_TRIG (Pagina 107) Riconoscimento del fronte di salita F_TRIG (Pagina 108) Riconoscimento del fronte di discesa AFP (Pagina 109) Temporizzatore
Blocchi per la generazione o l'elaborazione di impulsi 14.2 TIMER_P: generatore di impulsi
CFC - Blocchi elementari 104 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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. 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.
Blocchi per la generazione o l'elaborazione di impulsi 14.2 TIMER_P: generatore di impulsi
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 105
Diagrammi di impulsi MODE = 0 impulso
MODE=1 impulso prolungato
MODE = 2 ritardo all'inserzione
MODE = 3 ritardo all'inserzione con memoria
Blocchi per la generazione o l'elaborazione di impulsi 14.2 TIMER_P: generatore di impulsi
CFC - Blocchi elementari 106 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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.
Connessioni Nome Tipo di dati Commento Preimpostazione
SAMPLE_T REAL Tempo di campionamento del task in s
1.0
TIME0 REAL Tempo in s 0.0 MODE INT Modo di funzionamento
(vedere sopra) 0
RESET BOOL Resetta 0
Ingressi
I0 BOOL Impulso di ingresso 0 QERR BOOL Errore 1 Q0 BOOL Impulso di uscita 0
Uscite
PTIME REAL Tempo rimanente 0.0
Blocchi per la generazione o l'elaborazione di impulsi 14.3 R_TRIG: Riconoscimento del fronte di salita
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 107
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
Blocchi per la generazione o l'elaborazione di impulsi 14.4 F_TRIG: Riconoscimento del fronte di discesa
CFC - Blocchi elementari 108 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
Blocchi per la generazione o l'elaborazione di impulsi 14.5 AFP: Temporizzatore
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 109
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
SAMPLE_T REAL Tempo di campionamento del task in s
1.0
T0 TIME Durata della pausa impulso
T#0ms
Ingressi
T1 TIME Durata dell’impulso T#0ms Uscita Q BOOL Impulso di uscita 0
Blocchi per la generazione o l'elaborazione di impulsi 14.5 AFP: Temporizzatore
CFC - Blocchi elementari 110 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 111
Blocchi per la rilevazione o l’elaborazione di momenti e intervalli 1515.1 TIME
Blocchi CFC della famiglia Questa famiglia riunisce i seguenti blocchi che mettono a disposizione le funzioni di temporizzazione. TIME (Pagina 111) Misurazione del tempo di esecuzione TIME_BEG (Pagina 112) Lettura dell'orario attuale TIME_END (Pagina 112) Confronto del tempo di ingresso con il tempo attuale
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 (00:00:00 – tempo misurato).
Connessioni Nome Tipo di dati Commento Preimpostazione Ingressi DIFF BOOL Differenza on 1 Uscita OUT TIME Tempo
Blocchi per la rilevazione o l’elaborazione di momenti e intervalli 15.3 TIME_BEG: Lettura dell'orario attuale
CFC - Blocchi elementari 112 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
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
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 113
Blocchi di regolazione 1616.1 CONTROL
Blocchi CFC della famiglia "CONTROL" Questa famiglia contiene i seguenti blocchi: CONT_C (Pagina 114) Regolazione continua CONT_S (Pagina 122) Regolazione a passi PULSEGEN (Pagina 129) Generazione impulsi
Blocchi di regolazione 16.2 CONT_C
CFC - Blocchi elementari 114 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 156) ● Diramazione valore istantaneo (Pagina 154) ● Formazione della deviazione di regolazione (Pagina 156) ● Algoritmo PID (Pagina 155) ● Elaborazione manuale dei valori (Pagina 153) ● Elaborazione del valore regolante (Pagina 156) ● Inserzione segnale di disturbo (Pagina 156)
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. Tutte le altre uscite vengono impostate sui valori preassegnati.
Blocchi di regolazione 16.2 CONT_C
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 115
Informazioni sugli errori La segnalazione di errore RET_VAL non viene utilizzata.
Parametri di ingresso Parametro Tipo di
dati Campo dei valori
Preimpostazione
Descrizione
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.
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".
Blocchi di regolazione 16.2 CONT_C
CFC - Blocchi elementari 116 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
Parametro Tipo di dati
Campo dei valori
Preimpostazione
Descrizione
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 ... +100.0 % o grandezza fisica
0.0 INTERNAL SETPOINT / Valore di riferimento interno L'ingresso "Valore di riferimento interno" serve per la preimpostazione di un valore di riferimento.
PV_IN REAL -100.0 ... +100.0 % o grandezza fisica
0.0 PROCESS VARIABLE IN / Ingresso valore istantaneo All'ingresso "Ingresso valore istantaneo" 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 ... +100.0 % o grandezza fisica
0.0 MANUAL VALUE / Valore manuale L'ingresso "Valore manuale" consente la preimpostazione di un valore manuale mediante la funzione di servizio e supervisione.
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.
TV TIME ≥ SAMPLE_T T#10s DERIVATIVE TIME / Tempo di differenziazione L'ingresso "Tempo del derivatore" determina il comportamento temporale del derivatore.
Blocchi di regolazione 16.2 CONT_C
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 117
Parametro Tipo di dati
Campo dei valori
Preimpostazione
Descrizione
TM_LAG TIME ≥ SAMPLE_T / 2
T#2s TIME LAG OF THE DERIVATE ACTION / 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 grandezza fisica
0.0 DEAD BAND WIDTH /Ampiezza banda morta 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 % o grandezza fisica
100.0 MANIPULATED VALUE HIGH LIMIT / Valore regolante, limite superiore Il valore regolante viene sempre limitato da un limite superiore e da uno inferiore. L'ingresso "Valore regolante, limite superiore" indica il limite superiore.
LMN_LLM REAL -100.0 ... LMN_HLM % o grandezza fisica
0.0 MANIPULATED VALUE LOW LIMIT /Valore regolante, limite inferiore Il valore regolante viene sempre limitato 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.
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.
Blocchi di regolazione 16.2 CONT_C
CFC - Blocchi elementari 118 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
Parametro Tipo di dati
Campo dei valori
Preimpostazione
Descrizione
I_ITLVAL REAL -100.0 ... +100.0 % o grandezza fisica
0.0 INITIALIZATION VALUE OF THE INTEGRAL ACTION / Valore di inizializzazione per componente I 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 ... +100.0 % o grandezza fisica
0.0 DISTURBANCE VARIABLE / Segnale di disturbo Per l'inserzione di un segnale di disturbo, quest’ultimo viene collegato all'ingresso "Segnale di disturbo".
Blocchi di regolazione 16.2 CONT_C
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 119
Parametri di uscita Parametro Tipo di
dati Campo dei valori
Preimpostazione
Descrizione
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.
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".
Blocchi di regolazione 16.2 CONT_C
CFC - Blocchi elementari 120 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
Ulteriori informazioni Per maggiori informazioni vedere il paragrafo: CONT_C: Schema a blocchi (Pagina 121)
Blocchi di regolazione 16.2 CONT_C
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 121
16.2.2 CONT_C: Schema a blocchi
Blocchi di regolazione 16.3 CONT_S
CFC - Blocchi elementari 122 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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.
Blocchi di regolazione 16.3 CONT_S
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 123
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 156) ● Diramazione valore istantaneo (Pagina 154) ● Formazione della deviazione di regolazione (Pagina 156) ● Algoritmo a passi PI (Pagina 155) ● Inserzione segnale di disturbo (Pagina 156)
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.
Blocchi di regolazione 16.3 CONT_S
CFC - Blocchi elementari 124 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
Parametri di ingresso Parametro Tipo di
dati Campo dei valori
Pre-impostazione
Descrizione
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 posizioneIl 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.
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_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 con la periferia e impostato su "Attivazione valore istantaneo di periferia".
Blocchi di regolazione 16.3 CONT_S
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 125
Parametro Tipo di dati
Campo dei valori
Pre-impostazione
Descrizione
SAMPLE_T REAL ≥ 0.001s 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 ... +100.0 % o grandezza fisica
0.0 INTERNAL SETPOINT / Valore di riferimento interno L'ingresso "Valore di riferimento interno" serve per la preimpostazione di un valore di riferimento.
PV_IN REAL -100.0 ... +100.0 % o grandezza fisica
0.0 PROCESS VARIABLE IN / Ingresso valore istantaneo All'ingresso "Ingresso valore istantaneo" 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".
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_W REAL ≥ 0.0 % o grandezza fisica
0.0 DEAD BAND WIDTH /Ampiezza banda morta 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.
Blocchi di regolazione 16.3 CONT_S
CFC - Blocchi elementari 126 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
Parametro Tipo di dati
Campo dei valori
Pre-impostazione
Descrizione
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_TM TIME ≥ SAMPLE_T T#3s MINIMUM PULSE TIME / Durata minima dell'impulso Nel parametro "Durata minima dell'impulso" può essere parametrizzata una lunghezza minima dell'impulso.
BREAK_TM TIME ≥ SAMPLE_T T#3s MINIMUM BREAK TIME / Durata minima 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 ... +100.0 % o grandezza fisica
0.0 DISTURBANCE VARIABLE / Segnale di disturbo Per l'inserzione di un segnale di disturbo, quest’ultimo viene collegato all'ingresso "Segnale di disturbo".
Blocchi di regolazione 16.3 CONT_S
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 127
Parametri di uscita Parametro Tipo di
dati Campo dei valori
Preimpostazione Descrizione
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: Schema a blocchi (Pagina 128)
Blocchi di regolazione 16.3 CONT_S
CFC - Blocchi elementari 128 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
16.3.2 CONT_S: Schema a blocchi
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 129
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 114).
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 153) 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.
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari 130 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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.
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 131
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. Selettore Modo di funzionamento MAN_ON STEP3_ON ST2BI_ON Regolazione a tre punti FALSE TRUE a scelta Regolazione a due punti con campo di regolazione bipolare (-100% ... +100%)
FALSE FALSE TRUE
Regolazione a due punti con campo di regolazione unipolare (0% ... +100%)
FALSE FALSE FALSE
Funzionamento manuale TRUE a scelta a scelta
Parametri di ingresso Parametro Tipo di
dati Campo dei valori Pre-
impostazione Descrizione
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.
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari 132 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
Parametro Tipo di dati
Campo dei valori Pre-impostazione
Descrizione
RATIOFAC REAL 0.1 ... 10.0 1.0 RATIO FACTOR / Fattore proporzionaleCon 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.
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.
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 133
Parametro Tipo di dati
Campo dei valori Pre-impostazione
Descrizione
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.
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari 134 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
Parametri di uscita Parametro Tipo di
dati Campo dei valori
Preimpostazione
Descrizione
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: Schema a blocchi (Pagina 135) Regolazione a tre punti (Pagina 135) Regolazione a tre punti, asimmetrica (Pagina 137) Regolazione a due punti (Pagina 138) Funzionamento manuale per la regolazione a due o a tre punti (Pagina 139)
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 135
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 157)
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.
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari 136 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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: Regolazione a tre punti, asimmetrica (Pagina 137) Regolazione a due punti (Pagina 138) Funzionamento manuale (Pagina 139)
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 137
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
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 ulteriori informazioni sull’argomento consultare i paragrafi: Curva caratteristica asimmetrica per regolatore a tre punti (Pagina 158) Regolazione a tre punti (Pagina 135) Regolazione a due punti (Pagina 138) Funzionamento manuale per la regolazione a due o a tre punti (Pagina 139)
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari 138 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 154) Curva caratteristica con campo del valore regolante unipolare (Pagina 155) Regolazione a tre punti (Pagina 135) Regolazione a tre punti, asimmetrica (Pagina 137) Funzionamento manuale per la regolazione a due o a tre punti (Pagina 139)
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 139
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
FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE
Regolazione a tre punti
TRUE TRUE FALSE FALSE FALSE a scelta FALSE TRUE Regolazione a due punti TRUE a scelta TRUE FALSE
Ulteriori informazioni Per ulteriori informazioni sull’argomento consultare i paragrafi: Regolazione a tre punti (Pagina 135) Regolazione a tre punti, asimmetrica (Pagina 137) Regolazione a due punti (Pagina 138)
Blocchi di regolazione 16.4 PULSEGEN
CFC - Blocchi elementari 140 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 141
Blocchi per le funzioni di sistema 1717.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. EVENT (Pagina 142)
Genera un interrupt di software il cui nome viene trasferito come parametro
DELAY (Pagina 142)
Ritardo di tutti gli eventi di avvio fino alla abilitazione dell'elaborazione
EDELAY (Pagina 143)
Abilitazione degli eventi di avvio ritardati
DISCARD (Pagina 143)
Tutti gli eventi di avvio vengono rifiutati (non avviati), in modo che il livello di esecuzione richiamato possa lavorare senza interruzione
EDISCARD (Pagina 144)
Abilitazione di tutti i nuovi eventi di avvio
LASTERR (Pagina 144)
Rilevamento del codice degli errori di periferia e degli errori nei blocchi di sistema DELAY, EDELAY, DISCARD, EDISCARD, P_REASON
SYSTIME (Pagina 145)
Rilevamento del tempo di sistema
P_REASON (Pagina 145)
Rilevamento del causa del richiamo di un interrupt di processo
Blocchi per le funzioni di sistema 17.2 DELAY
CFC - Blocchi elementari 142 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
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 fino a quando l'elaborazione non viene abilitata (con l'ausilio del blocco EDELAY (Pagina 143)) 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, quest’ultimo può essere interrogato con l’ausilio del blocco LASTERR (Pagina 144).
Blocchi per le funzioni di sistema 17.4 EDELAY : Abilitazione degli eventi di avvio ritardati
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 143
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 anticipatamente ritardati tramite il blocco DELAY (Pagina 142). Se durante l’elaborazione si verifica un errore, quest’ultimo può essere interrogato con l’ausilio del blocco LASTERR (Pagina 144).
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 fino a quando l'elaborazione non viene abilitata (con l'ausilio del blocco EDISCARD (Pagina 144)) oppure il livello di esecuzione attuale non è concluso. Se durante l’elaborazione si verifica un errore, quest’ultimo può essere interrogato con l’ausilio del blocco LASTERR (Pagina 144).
Blocchi per le funzioni di sistema 17.6 EDISCARD: Abilitazione di tutti i nuovi eventi di avvio
CFC - Blocchi elementari 144 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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 di eventi di avvio tramite il blocco DISCARD (Pagina 143). Se durante l’elaborazione si verifica un errore, quest’ultimo può essere interrogato con l’ausilio del blocco LASTERR (Pagina 144).
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 ● Errori nei blocchi di sistema DELAY (Pagina 142), EDELAY (Pagina 143), DISCARD
(Pagina 143), EDISCARD (Pagina 144), P_REASON (Pagina 145) 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
Blocchi per le funzioni di sistema 17.8 SYSTIME: Rilevamento del tempo di sistema
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 145
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
17.9 P_REASON: Rilevamento del 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, quest’ultimo può essere interrogato con l’ausilio del blocco LASTERR (Pagina 144).
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
Blocchi per le funzioni di sistema 17.10 FRC_CFC: blocco interno
CFC - Blocchi elementari 146 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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.
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 147
Blocchi IK 1818.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.
Blocchi IK 18.1 IK_STATE
CFC - Blocchi elementari 148 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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
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".
Blocchi IK 18.2 IK_MANAG
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 149
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".
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".
Blocchi IK 18.4 IK_RCV
CFC - Blocchi elementari 150 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
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".
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".
Blocchi IK 18.6 IK_CP_IN
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 151
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".
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".
Blocchi IK 18.7 IK_ALARM
CFC - Blocchi elementari 152 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 153
Appendice 1919.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.
19.2 Modulazione di ampiezza degli impulsi
Legenda 1 Ciclo PULSEGEN 2 Ciclo CONT_C
Appendice 19.3 Diramazione valore istantaneo
CFC - Blocchi elementari 154 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
19.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.
19.4 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"
Appendice 19.5 Curva caratteristica con campo del valore regolante unipolare
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 155
19.5 Curva caratteristica con campo del valore regolante unipolare
Campo valore regolante da 0% a 100%
Legenda 1 Durata impulso positivo
19.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.
19.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.
Appendice 19.8 Formazione della deviazione di regolazione
CFC - Blocchi elementari 156 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
19.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.
19.9 Diramazione valore di riferimento
La diramazione del valore di riferimento viene immessa in virgola mobile nell'ingresso SP_INT.
19.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
19.11 Inserzione segnale di disturbo
All'ingresso DISV può essere inserito anche un segnale di disturbo.
Appendice 19.12 Curva caratteristica simmetrica per regolatore a tre punti
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 157
19.12 Curva caratteristica simmetrica per regolatore a tre punti
Fattore proporzionale = 1
Legenda 1 Durata impulso positivo 2 Permanentemente "On" 3 Permanentemente su "Off" 4 Durata impulso negativo
Appendice 19.13 Curva caratteristica asimmetrica per regolatore a tre punti
CFC - Blocchi elementari 158 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
19.13 Curva caratteristica asimmetrica per regolatore a tre punti
Fattore proporzionale = 0,5
Legenda 1 Durata impulso positivo 2 Durata impulso negativo
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 159
Indice analitico
A ABS_DI, 80 ABS_I, 73 ABS_R, 58 ACOS, 63 ADD_DI, 77 ADD_I, 70 ADD_R, 54 Addizionatore, controllabile, DINT, 83 Addizionatore, controllabile, INT, 76 Addizionatore, controllabile, REAL, 66 Addizionatore, DINT, 77 Addizionatore, INT, 70 Addizionatore, REAL, 54 AFP, 109 AND, 18 Arcocoseno, REAL, 63 Arcoseno, REAL, 62 Arcotangente, REAL, 63 ASIN, 62 ATAN, 63 Avviamento con le CPU S7-300, 13 Avvio, 142
Task M7, 142
B BIT-LGC, 17 Blocchi aritmetici, 69 Blocchi BIT-LGC, 17 Blocchi CFC, 15 Blocchi di conversione, 39 Blocchi per funzioni matematiche in virgola mobile, 53 BO_BY, 50 BO_DW, 51 BO_W, 50 BY_BO, 51 BY_DW, 41 BY_W, 41
C CADD_DI, 83 CADD_I, 76 CADD_R, 66 CMP_DI, 36 CMP_I, 35 CMP_R, 37 CMP_T, 38 Combinazione antivalente WORD, 28 Combinazione antivalente, generica, DWORD, 33 Combinazione antivalente., 20 Combinazione logica AND, 18 Combinazione logica AND, generica, DWORD, 32 Combinazione logica NAND, 21 Combinazione logica NAND, generica, DWORD, 33 Combinazione logica NAND, WORD, 29 Combinazione logica NOR, 22 Combinazione logica NOR, generica, DWORD, 34 Combinazione logica NOR, WORD, 30 Combinazione logica OR, 19 Combinazione logica OR, generica, DWORD, 32 Combinazione logica OR, WORD, 27 Combinazione logica WORD, 26 Comparatore, DINT, 36 Comparatore, INT, 35 Comparatore, REAL, 37 Comparatore, TIME, 38 COMPARE, 35 Confronta, 112
Tempo di ingresso con il tempo attuale, 112 CONT_C, 114
Schema a blocchi, 121 CONT_S, 122
Schema a blocchi, 128 Contatore all’indietro, 101 Contatore in avanti, 100 Contatore in avanti/all’indietro, 102 CONTROL, 113 Conversione, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52
16 BOOL -> WORD, 50 32 BOOL -> DWORD, 51 8 BOOL -> BYTE, 50 BYTE -> 8 BOOL, 51 BYTE -> DWORD, 41 BYTE -> WORD, 41
Indice analitico
CFC - Blocchi elementari 160 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
DINT -> DWORD, 42 DINT -> INT, 42 DINT -> REAL, 43 DWORD -> 32 BOOL, 52 DWORD -> DINT, 43 DWORD -> REAL, 44 DWORD -> WORD, 44 INT -> DINT, 45 INT -> DWORD, 45 INT -> REAL, 46 INT -> WORD, 46 REAL -> DINT, 47 REAL -> DWORD, 47 REAL -> INT, 48 WORD -> 16 BOOL, 52 WORD -> BYTE, 48 WORD -> DWORD, 49 WORD -> INT, 49
COS, 61 Coseno, REAL, 61 COUNTER, 99 CTD, 101 CTU, 100 CTUD, 102
D DELAY, 142 Descrizione di
FRC_CFC, 146 DI_DW, 42 DI_I, 42 DI_R, 43 DISCARD, 143 DIV_DI, 78 DIV_I, 71 DIV_R, 55 Divisione, INT, 71 Divisore, DINT, 78 Divisore, REAL, 55 DW_BO, 52 DW_DI, 43 DW_R, 44 DW_W, 44
E EDELAY, 143 EDISCARD, 144 EPS_DI, 82 EPS_I, 75 EPS_R, 65 EVENT, 142 EXP, 59
F F_TRIG, 108 Flip-flop, 85 FlipFlop, impostazione dominante, 86 FlipFlop, resetta dominante*, 86 Forme degli impulsi per organi attuatori proporzionali, 129 FRC_CFC, 146
Descrizione, 146 Fronte di discesa, 108
Rilevamento, 108 Fronte di salita, 107
Rilevamento, 107 Funzione esponenziale, REAL, 59
G generatore di impulsi, 104
I I_DI, 45 I_DW, 45 I_R, 46 I_W, 46 IMPULS, 103 Impulso prolungato, 104 Intervallo, INT, 75 Intervallo, REAL, 65 Intervallo, simmetrico, DINT, 82 Invertita, DWORD, 34 Invertita, WORD, 31 Invertito, 23
J JK_FF, 85 JK-FlipFlop, 85
Indice analitico
CFC - Blocchi elementari Manuale di programmazione e d'uso, 03/2009, A5E02109611-01 161
L LASTERR, 144 Lettura, 112
Ora attuale, 112 LIM_DI, 81 LIM_I, 74 LIM_R, 64 Limitatore, asimmetrico, DINT, 81 Limitatore, asimmetrico, INT, 74 Limitatore, asimmetrico, REAL, 64 LN, 60 LOG10, 60 Logaritmo a base 10, REAL, 60 Logaritmo naturale, REAL, 60 Logica di doppia parola, 25 Logica di parola, 25
M Massimo, DINT, 79 Massimo, INT, 72 Massimo, REAL, 56 MATH_FP, 53 MATH_INT, 69 MAXn_DI, 79 MAXn_I, 72 MAXn_R, 56 Minimo, DINT, 80 Minimo, INT, 73 Minimo, REAL, 57 MINn_DI, 80 MINn_I, 73 MINn_R, 57 Misura, 111
Tempo di esecuzione, 111 MOD_DI, 79 MOD_I, 72 Modulazione ampiezza impulsi, 129 Modulo, DINT, 79 Modulo, INT, 72 Moltiplicatore, DINT, 78 Moltiplicatore, REAL, 55 Moltiplicazione, INT, 71 MUL_DI, 78 MUL_I, 71 MUL_R, 55 Multiplexer, BOOL, 97 Multiplexer, DINT, 95 Multiplexer, INT, 94 Multiplexer, REAL, 96 MULTIPLX, 93 MUXn_BO, 97
MUXn_DI, 95 MUXn_I, 94 MUXn_R, 96 MW0, 13
N NAND, 21 NEG_DI, 81 NEG_I, 74 NEG_R, 64 Negatore, DINT, 81 Negatore, INT, 74 Negatore, REAL, 64 NOR, 22 NOT, 23
O OR, 19 Ora attuale, 112
Lettura, 112
P P_REASON, 145 Parametri di blocco EN, ENO, SAMPLE_T, 11 Parola di merker 0, 13 Potenza a base 10, REAL, 59 Potenza, generale, REAL, 67 POW10, 59 POWXY, 67 Pulsegen
Schema a blocchi, 135 PULSEGEN, 129
Funzionamento manuale, 139 Regolazione a due punti, 138 Regolazione a tre punti, 135 Regolazione a tre punti, asimmetrica, 137
R R_DI, 47 R_DW, 47 R_I, 48 R_TRIG, 107 Radice quadrata, REAL, 58 Regolazione a passi, 122 Rilevamento, 107, 108
del fronte di discesa, 108 del fronte di salita, 107
Indice analitico
CFC - Blocchi elementari 162 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01
ritardo all’inserzione, 104 Ritardo all’inserzione con memoria, 104 ritardo alla disinserzione, 104 ROL_DW, 90 ROL_W, 89 ROR_DW, 91 ROR_W, 90 Rotazione verso sinistra, DWORD, 90 Rotazione verso sinistra, WORD, 89 Rotazione, verso destra, DWORD, 91 Rotazione, verso destra, WORD, 90 RS_FF, 86
S SAMP_AVE, 68 SEL_BO, 98 SEL_R, 98 Seno, REAL, 61 SHIFT, 87 SHL_DW, 88 SHL_W, 87 SHR_DW, 89 SHR_W, 88 SIN, 61 Sottrattore, DINT, 77 Sottrattore, INT, 70 Sottrattore, REAL, 54 Spostamento verso destra, DWORD, 89 Spostamento verso destra, WORD, 88 Spostamento verso sinistra, DWORD, 88 Spostamento verso sinistra, WORD, 87 SQRT, 58 SR_FF, 86 SUB_DI, 77 SUB_I, 70 SUB_R, 54 SYSTEM, 141 SYSTIME, 145
T TAN, 62 Tangente, REAL, 62 Task M7, 142
Avvio, 142 Tempo di esecuzione, 111
Misura, 111 Tempo di ingresso, 112 Tempo di ingresso
confronto con il tempo attuale, 112 Temporizzatore, 109
TIME, 111 TIME, gruppo, 111 TIME_BEG, 112 TIME_END, 112 TIMER_P, 104
V Valore assoluto, DINT, 80 Valore assoluto, INT, 73 Valore assoluto, REAL, 58 Valore medio, in virgola mobile, REAL, 68
W W_BO, 52 W_BY, 48 W_DW, 49 W_I, 49 WAND_DW, 32 WAND_W, 26 WNAND_DW, 33 WNAND_W, 29 WNOR_DW, 34 WNOR_W, 30 WNOT_DW, 34 WNOT_W, 31 WOR_DW, 32 WOR_W, 27 WRD_LGC, 25 WXOR_DW, 33 WXOR_W, 28
X XOR, 20