Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di...

162
SIMATIC CFC - Blocchi elementari _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ _ _____________ Parametri di blocco EN, ENO, SAMPLE_T 1 Avviamento con le CPU S7-300 2 Blocchi CFC 3 Blocchi logici con il tipo di dati BOOL 4 Blocchi logici con i tipi di dati WORD e DWORD 5 Blocchi per il confronto di due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici del tipo di dati INT e DINT 9 Blocchi flip-flop 10 Blocchi shift 11 Blocchi multiplex 12 Blocchi di conteggio 13 Blocchi per la generazione o l'elaborazione di impulsi 14 Blocchi per la rilevazione o l’elaborazione di momenti e intervalli 15 Blocchi di regolazione 16 Blocchi 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

Transcript of Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di...

Page 1: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 2: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 3: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 4: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 5: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 6: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 7: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 8: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 9: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 10: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

Indice del contenuto

CFC - Blocchi elementari 10 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01

Page 11: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 12: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

Parametri di blocco EN, ENO, SAMPLE_T

CFC - Blocchi elementari 12 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01

Page 13: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 14: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

Avviamento con le CPU S7-300

CFC - Blocchi elementari 14 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01

Page 15: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 16: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

Blocchi CFC

CFC - Blocchi elementari 16 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01

Page 17: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 18: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 19: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 20: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 21: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 22: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 23: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 24: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 25: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 26: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 27: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 28: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 29: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 30: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 31: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 32: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 33: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 34: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 35: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 36: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 37: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 38: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 39: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 40: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 41: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 42: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 43: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 44: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 45: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 46: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 47: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 48: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 49: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 50: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 51: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 52: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 53: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 54: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 55: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 56: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 57: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 58: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 59: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 60: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 61: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 62: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 63: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 64: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 65: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 66: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 67: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 68: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 69: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 70: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 71: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 72: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 73: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 74: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 75: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 76: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 77: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 78: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 79: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 80: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 81: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 82: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 83: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 84: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 85: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 86: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 87: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 88: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 89: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 90: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 91: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 92: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

Blocchi shift 11.9 ROR_DW: Rotazione DWORD verso destra

CFC - Blocchi elementari 92 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01

Page 93: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 94: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 95: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 96: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 97: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 98: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 99: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 100: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 101: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 102: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 103: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 104: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 105: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 106: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 107: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 108: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 109: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 110: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 111: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 112: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 113: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 114: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 115: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 116: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 117: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 118: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 119: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 120: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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)

Page 121: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 122: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 123: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 124: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 125: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 126: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 127: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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)

Page 128: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 129: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 130: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 131: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 132: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 133: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 134: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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)

Page 135: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 136: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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)

Page 137: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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)

Page 138: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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)

Page 139: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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)

Page 140: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

Blocchi di regolazione 16.4 PULSEGEN

CFC - Blocchi elementari 140 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01

Page 141: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 142: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 143: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 144: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 145: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 146: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 147: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 148: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 149: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 150: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 151: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 152: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

Blocchi IK 18.7 IK_ALARM

CFC - Blocchi elementari 152 Manuale di programmazione e d'uso, 03/2009, A5E02109611-01

Page 153: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 154: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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"

Page 155: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 156: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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.

Page 157: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 158: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 159: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 160: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 161: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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

Page 162: Parametri di blocco EN, 1...due valori di ingresso dello stesso tipo 6 Blocchi per la conversione di diversi tipi di dati 7 Blocchi aritmetici del tipo di dati REAL 8 Blocchi aritmetici

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