Istruzioni generali per i controllori programmabili Micro800

Numeri di catalogo 2080-LC10, 2080-LC20, 2080-LC30, 2080-LC50, 2080-LC70

Rockwell Automation Rockwell Automation

Istruzioni generali per i controllori programmabili Micro800

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021. Importanti informazioni utente. Leggere questa documentazione e i documenti elencati ...

2080-rm001 -it-e
Istruzioni generali per i controllori programmabili Micro800
Numeri di catalogo 2080-LC10, 2080-LC20, 2080-LC30, 2080-LC50, 2080-LC70

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021 Sostituisce la pubblicazione -2080-RM001I-IT-E - Gennaio 2019

Manuale di riferimento

Istruzioni originali

Istruzioni generali per i controllori programmabili Micro800
Importanti informazioni utente
Leggere questa documentazione e i documenti elencati nella sezione delle risorse aggiuntive riguardo l'installazione, la configurazione e l'operatività di questa attrezzatura prima di installare, configurare, attivare o eseguire la manutenzione di questo prodotto. Agli utenti viene richiesto di acquisire familiarità con le istruzioni per l'installazione e il cablaggio, oltre al soddisfacimento dei requisiti di tutti i codici, leggi e normative in vigore. È necessario che attività come installazione, regolazione, messa in servizio, utilizzo, assemblaggio, disassemblaggio e manutenzione siano eseguiti da personale opportunamente formato in ottemperanza al codice di pratica. Se questa attrezzatura viene utilizzata in una modalità non specificata dal produttore, la protezione fornita da questa attrezzatura potrebbe risultarne compromessa. In nessun caso Rockwell Automation, Inc. potrà essere ritenuto responsabile dei danni indiretti o conseguenziali risultanti dall'applicazione di queste apparecchiature. Gli esempi e i diagrammi in questo manuale sono inclusi a solo scopo informativo. A causa delle numerose variabili e requisiti associati a una particolare installazione, Rockwell Automation, Inc. non può essere ritenuto responsabile dell'uso effettivo basato sugli esempi e i diagrammi. Nessuna responsabilità riguardo brevetti viene assunta da Rockwell Automation, Inc. in relazione all'utilizzo di informazioni, circuiti, apparecchiature o software descritti in questo manuale. È proibita la riproduzione del contenuto di questo manuale, in parte o in toto, senza il consenso scritto di Rockwell Automation, Inc. All'interno del manuale, quando necessario, vengono utilizzate note per evidenziare considerazioni sulla sicurezza.
AVVERTENZA: Identifica informazioni relative a procedure o circostanze che possono provocare un'esplosione in un ambiente pericoloso, che può portare a lesioni personali o morte, danni materiali o perdite economiche.
ATTENZIONE: Identifica informazioni relative a procedure o circostanze che possono portare a lesioni personali o morte, danni materiali o perdite economiche. I segnali di attenzione consentono di identificare un pericolo, evitare un pericolo e riconoscere le conseguenze
IMPORTANTE Identifica informazioni che sono critiche per la corretta applicazione e comprensione del prodotto. Le etichette che forniscono precauzioni specifiche possono trovarsi all'esterno o all'interno dell'attrezzatura.
RISCHIO DI FOLGORAZIONE: Etichette possono essere applicate sull'apparecchiatura o al suo interno, ad esempio una trasmissione o un motore, per avvisare le persone della possibile presenza di tensione elettrica pericolosa.
RISCHIO DI USTIONI: Etichette possono essere applicate sull'apparecchiatura o al suo interno, ad esempio una trasmissione o un motore, per avvisare le persone che le superfici possono raggiungere temperature pericolose.
RISCHIO DI ARCO ELETTRICO: Etichette possono essere applicate sull'apparecchiatura o al suo interno, per esempio il centro di controllo motore, per avvisare le persone del possibile rischio di arco elettrico. L'arco elettrico può causare lesioni gravi e in casi estremi morte. Indossare dispositivi di protezione individuale (DPI) adeguati. Seguire TUTTE le disposizioni in materia di sicurezza sul lavoro e di dispositivi di protezione individuale (DPI).

2

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Introduzione

Sommario
In questo manuale ..................................................................... 13 Controllori supportati .................................................................. 13 Risorse aggiuntive ...................................................................... 13 Avvisi legali................................................................................. 14

Capitolo 1

Ricerca di informazioni sulle Blocchi di istruzione ................................................................... 15

istruzioni e sugli elementi ladder

Operatori ............................................................................... 15 Funzioni ................................................................................ 16

Blocchi funzione .................................................................... 17

Istruzione impostate in ordine alfabetico .................................... 18

Capitolo 2 Linguaggio LD (Ladder Diagram) Programmazione in Ladder Diagram ......................................... 25
Ambiente di sviluppo del programma LD ................................... 26 Barra degli strumenti Istruzione (LD)..................................... 26 Aggiungere elementi istruzione dalla barra degli strumenti Istruzione ......................................................................... 27

Capitolo 3 Elementi del ladder diagram (LD) Piolo ...................................................................................... 29
Aggiunta di un ramo a un programma LD........................ 30 Etichette ramo ................................................................. 31 Commenti piolo................................................................ 32 Diramazione .......................................................................... 33 Aggiunta di un ramo a un programma LD........................ 34 Blocco istruzione (LD) ........................................................... 37 Bobina................................................................................... 37 Aggiunta di elementi a bobina ......................................... 38 Bobina diretta .................................................................. 41 Bobina invertita ................................................................ 41 Bobina fronte di discesa impulso ..................................... 42 Bobina fronte di salita impulso ......................................... 43 Bobina impostata ............................................................. 44 Bobina ripristinata ............................................................ 45 Contatto ................................................................................ 47 Aggiunta di un contatto a un programma LD ................... 47 Contatto diretto ................................................................ 50 Contatto invertito.............................................................. 51 Contatto fronte di salita impulso ...................................... 51 Contatto fronte di discesa impulso................................... 52 Ritorno .................................................................................. 53 Salto...................................................................................... 54 Blocchi di istruzione nei programmi LD ...................................... 55 Utilizzo nell'editor di lingue LD.................................................... 56 Esempi di programma ladder diagram (LD)................................ 57 Tasti di scelta rapida LD ............................................................. 59

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

3

Sommario
Istruzione allarme Istruzioni aritmetiche

Capitolo 4
LIM_ALRM (limite allarme)......................................................... 63
Capitolo 5
ABS (valore assoluto) ................................................................ 67 ACOS (arcocoseno di origine) ................................................... 69 ACOS_LREAL (arcocoseno Long Real)..................................... 71 Addition ...................................................................................... 72 ASIN (arcoseno) ......................................................................... 74 ASIN_LREAL (arcoseno Long Real) .......................................... 76 ATAN (arcotangente) ................................................................. 77 ATAN_LREAL (arcotangente Long Real) ................................... 79 COS (coseno)............................................................................. 81 COS_LREAL (coseno Long Real) .............................................. 82 Division....................................................................................... 84 EXPT (esponente) ...................................................................... 86 LOG (log base 10) ...................................................................... 87 MOD (modulo)............................................................................ 89 MOV (sposta) ............................................................................. 91 Multiplication............................................................................... 92 Neg (negazione) ......................................................................... 94 POW (incremento alimentazione)............................................... 95 RAND (valore casuale)............................................................... 97 SIN (seno) .................................................................................. 99 SIN_LREAL (seno Long Real).................................................. 100 SQRT (radice quadrata) ........................................................... 102 Subtraction ............................................................................... 103 TAN (tangente) ......................................................................... 105 TAN_LREAL (tangente Long Real) .......................................... 107 TRUNC (troncamento).............................................................. 108

Istruzioni porta seriale ASCII

Capitolo 6
ABL (prova ASCII per riga del buffer) ...................................... 111 ACL (buffer cancellazione ASCII) ............................................ 113 AHL (righe di arbitraggio ASCII) ............................................... 115 ACB (caratteri ASCII nel buffer) ............................................... 118 ARD (lettura ASCII) .................................................................. 120 ARL (riga di lettura ASCII) ........................................................ 123 AWA (scrittura ASCII aggiunta) ................................................ 125 AWT (scrittura ASCII) ............................................................... 128 Dettagli dei parametri ASCII ..................................................... 130
Tipo di dati ABLACB ........................................................... 131 Tipo di dati ACL .................................................................. 131 Tipo di dati AHL ChannelSts ............................................... 131 Tipo di dati AHLI ................................................................. 132 Tipo di dati ARDARL ........................................................... 132 Tipo di dati AWAAWT ......................................................... 133

Capitolo 7

4

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzioni binarie

Sommario
AND_MASK (maschera AND).................................................. 135 BSL (spostamento del bit a sinistra) ........................................ 137 BSR (spostamento del bit a destra).......................................... 141 NOT_MASK (maschera NOT bit-to-bit) .................................... 144 OR_MASK (maschera OR bit-to-bit) ........................................ 146 ROL (rotazione a sinistra)......................................................... 147 ROR (rotazione a destra) ......................................................... 149 SHL (spostamento a sinistra) ................................................... 151 SHR (spostamento a destra) .................................................... 153 XOR_MASK (maschera OR esclusivo) .................................... 155

Istruzioni booleane

Capitolo 8
F_TRIG (rilevamento fronte di discesa) ................................... 159 R_TRIG (rilevatore fronte di salita) .......................................... 161 RS (reset/impostazione) ........................................................... 163 OR ............................................................................................ 164 AND.......................................................................................... 165 XOR (OR esclusivo) ................................................................. 166 NOT.......................................................................................... 166 SR (impostazione/reset) ........................................................... 167 TTABLE (tavola della verità)..................................................... 169 MUX8B (multiplexer di ingressi BOOL 8) ................................. 172 MUX4B (multiplexer di ingressi BOOL 4) ................................. 175

Istruzioni di comunicazione

Capitolo 9
COM_IO_WDOG ..................................................................... 179 MSG_CIPGENERIC (messaggio generico per Common Industrial Protocol) ................................................................................... 182
Tipo di dati CIPAPPCFG..................................................... 184 Tipo di dati CIPCONTROLCFG .......................................... 185 Tipo di dati CIPSTATUS ..................................................... 186
Bit di stato CIPSTATUS ................................................. 187 Codici di errore CIPSTATUS ......................................... 187 Tipo di dati CIPTARGETCFG ............................................. 188 Percorso di destinazione per la messaggistica CIP ....... 189 Connessioni per messaggio CIP/EIP............................. 190 Timer per timeout messaggio CIP ................................. 191 MSG_CIPSYMBOLIC (messaggio simbolico per Common Industrial Protocol) ................................................................... 191 Tipo di dati CIPSYMBOLICCFG ......................................... 193 Sintassi scrittura/lettura dei messaggi simbolici............. 194 Dimensione pacchetto dati supportata per la funzione CIP seriale ................................................................................. 195 MSG_MODBUS (messaggio modbus) ..................................... 196 Tipo di dati MODBUSLOCPARA......................................... 198 Processo di esecuzione del messaggio (Rung = TRUE) .... 200 Tipo di dati MODBUSTARPARA ......................................... 202 MSG_MODBUS2 (messaggio MODBUS/TCP) ........................ 202 Tipo di dati MODBUS2LOCPARA....................................... 205

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

5

Sommario

Tipo di dati MODBUS2TARPARA ....................................... 206 Processi di esecuzione di messaggi e diagrammi di temporizzazione ....................................................................... 208
Processo di esecuzione del messaggio (generale) ............. 209 Processo di esecuzione del messaggio (Rung = TRUE) .... 210 Diagramma di temporizzazione dell'esecuzione del messaggio (Rung = TRUE) ................................................................... 211 Processo di esecuzione del messaggio (Rung = FALSE)... 211 Diagramma di temporizzazione dell'esecuzione del messaggio (Rung = FALSE).................................................................. 212 Processo di esecuzione di messaggi (errore) ..................... 213 Diagramma di temporizzazione dell'esecuzione del messaggio (errore) ................................................................................ 214 Utilizzo dei blocchi funzione di comunicazione (messaggio) .... 215 Configurazione dei valori dei dati oggetto per i messaggi espliciti (MSG_CIPGENERIC) ............................................ 215 Esempio: Come creare un programma di generazione messaggi MSG_CIPGENERIC per leggere i dati da un controllore ........................................................................... 217
Identificazione dei valori iniziali per le variabili di input, MSG_CIPGENERIC ...................................................... 218 Aggiunta di variabili e di un blocco funzione MSG_CIPGENERIC ...................................................... 219 Configurazione dei valori iniziali per le variabili ............. 220 Aggiunta di un contatto e di una bobina......................... 222 Aggiunta di un blocco funzione COP, di variabili e di un contatto (MSG_CIPGENERIC) ...................................... 223 Verifica della corretta configurazione IP sul controllore B ....................................................................................... 225 Esempio: Come creare un programma di generazione messaggi MSG_CIPSYMBOLIC per scrivere i dati in un controllore ........................................................................... 226 Aggiunta di un blocco funzione COP, di variabili e di un contatto (MSG_CIPSYMBOLIC) .................................... 227 Aggiunta di un operatore Equal e di una bobina ............ 228 Aggiunta di un blocco funzione MSG_CIPSYMBOLIC, di variabili e di un contatto ................................................. 230 Verifica della corretta configurazione IP sul controllore B ....................................................................................... 232 Creazione di una variabile globale per il controllore B ... 233 Revisione dei risultati del programma completo ............ 234 Esempio: Come configurare una comunicazione Modbus per la lettura da e la scrittura in una unità ................................. 236 Supporto per protocolli di comunicazione................................. 240 Canali di comunicazione integrati ....................................... 242

Istruzioni per il confronto
6

Capitolo 10
Uguale ..................................................................................... 243 Greater than............................................................................. 246 Greater than or equal ............................................................... 247
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Sommario
Less than.................................................................................. 249 Less than or equal .................................................................... 250 Not equal .................................................................................. 251

Istruzioni contatore

Capitolo 11
CTD (conteggio decrescente) .................................................. 255 CTU (conteggio crescente) ...................................................... 257 CTUD (conteggio crescente decrescente)................................ 259

Istruzioni per la conversione dati

Capitolo 12
ANY_TO_BOOL....................................................................... 263 ANY_TO_BYTE ....................................................................... 264 ANY_TO_DATE ....................................................................... 265 ANY_TO_DINT......................................................................... 267 ANY_TO_DWORD ................................................................... 268 ANY_TO_INT ........................................................................... 269 ANY_TO_LINT ......................................................................... 270 ANY_TO_LREAL...................................................................... 272 ANY_TO_LWORD.................................................................... 273 ANY_TO_REAL........................................................................ 274 ANY_TO_SINT ......................................................................... 275 ANY_TO_STRING ................................................................... 276 ANY_TO_TIME ........................................................................ 277 ANY_TO_UDINT ...................................................................... 278 ANY_TO_UINT......................................................................... 279 ANY_TO_ULINT....................................................................... 280 ANY_TO_USINT ...................................................................... 281 ANY_TO_WORD...................................................................... 282

Istruzioni per l'elaborazione dei dati

Capitolo 13
MEDIA ..................................................................................... 285 COP ......................................................................................... 287
Copia in un tipo di dati differente......................................... 290 Esempio di array della stringa COP .................................... 290 MIN (minimo)............................................................................ 292 MAX (massimo)........................................................................ 294

Istruzioni per l'High Speed Counter (HSC)

Capitolo 14
Che cos'è l'High-Speed Counter? ............................................ 297 HSC (High Speed Counter)...................................................... 298
Valori HSCCmd................................................................... 300 Tipo di dati HSCAPP........................................................... 301 Tipo di dati HSCSTS ........................................................... 304 Tipo di dati PLS................................................................... 311 Tipo di dati HSCE_CHANNEL ............................................ 312 Tipo di dati HSCE_STS....................................................... 313 Tipo di dati PLS_HSCE....................................................... 314

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

7

Sommario
Istruzioni HSCE Istruzioni ingresso/uscita

HSC_SET_STS (stato di impostazione dell'High-Speed Counter) ................................................................................................. 314 Utilizzo delle istruzioni dell'High-Speed Counter ...................... 317
Aggiornamento dei dati dell'applicazione HSC.................... 317 Finestra di dialogo Interruzione da parte dell'utente dell'HighSpeed Counter (HSC) ......................................................... 318 Configurazione di un Interrupt utente dell'High Speed Counter (HSC) .................................................................................. 318 Aggiunta e configurazione di un'interruzione da parte dell'utente dell'High-Speed Counter (HSC) ......................... 319
Proprietà interruzione HSC ............................................ 320 Parametri interruzione HSC ........................................... 321 Configurazione di un interruttore di fine corsa programmabile (PLS)................................................................................... 323 Esempio: come creare un programma High-Speed Counter (HSC) .................................................................................. 324 Creazione di un ladder diagram e aggiunta di variabili .. 325 Assegnazione di valori alle variabili HSC....................... 328 Assegnazione di variabili e compilazione del programma ....................................................................................... 329 Test del programma ed esecuzione dell'High-Speed Counter .......................................................................... 331 Add a Programmable Limit Switch (PLS) function .............. 334 Esempio: interruttore fine corsa programmabile (PLS) abilitato ............................................................................................ 335
Capitolo 15
HSCE ....................................................................................... 337 HSCE_CFG ............................................................................. 341 HSCE_CFG_PLS ..................................................................... 344 HSCE_READ_STS .................................................................. 346 HSCE_SET_STS ..................................................................... 348 Codici di errore HSCE .............................................................. 351
Capitolo 16
LCD.......................................................................................... 356 LCD_BKLT_REM (retroilluminazione LCD remoto) ................. 358 LCD_REM (LCD remoto).......................................................... 360 RHC (lettura high speed clock)................................................. 364 RPC (lettura checksum del programma) .................................. 365 DLG (registro dati) .................................................................... 366 IIM (ingresso immediato) .......................................................... 368 IOM (uscita istantanea) ............................................................ 370 KEY_READ (lettura tasti su LCD) ............................................ 372 KEY_READ_REM (lettura chiavi per LCD remoto) .................. 375 MM_INFO (informazioni sul modulo di memoria) ..................... 377
Tipo di dati MMINFO ........................................................... 380 MODULE_INFO ....................................................................... 380

8

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzioni di interruzione
Istruzioni di controllo del movimento

Sommario
MODULE_INFO - Informazioni sui moduli plug-in e di espansione.......................................................................... 384 Diagrammi di temporizzazione dell'istruzione MODULE_INFO ............................................................................................ 386 PLUGIN_INFO (informazioni sui plug-in).................................. 392 PLUGIN_READ (lettura plug-in) ............................................... 394 PLUGIN_RESET (reset plug-in) ............................................... 397 PLUGIN_WRITE (plug-in di scrittura) ....................................... 398 RCP (ricetta)............................................................................. 400 RTC_READ (lettura Real-Time Clock) ..................................... 403 RTC_SET (impostare Real-Time Clock)................................... 405 SYS_INFO................................................................................ 407 Tipo di dati SYS_INFO........................................................ 409 TRIMPOT_READ (lettura trimpot) ............................................ 410 Definizione ID Trimpot......................................................... 411
Capitolo 17
STIS (selezione avvio temporizzato)........................................ 413 UIC (bit clear interrupt lost) ...................................................... 415 UID (disattivazione interrupt) .................................................... 416 UIE (abilitazione interrupt) ........................................................ 418 UIF (interrupt flush in attesa) .................................................... 420
Capitolo 18
Regole generali per i blocchi funzione di controllo movimento. 424 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento ............................................................................... 426
Stati asse di controllo movimento ....................................... 426 Numeri dei parametri del blocco funzione per il controllo del movimento .......................................................................... 429 ID errori del blocco funzione di controllo movimento........... 430 Scenari di errore asse ......................................................... 431 Tipo di dati AXIS_REF ........................................................ 432 Tipo di dati FB_AXIS_REF.................................................. 433 Variabili dell'asse ................................................................ 434 MC_AbortTrigger (trigger di interruzione del controllo movimento) ................................................................................................. 434 MC_Halt (halt di controllo movimento) ..................................... 437 MC_Home (home del controllo movimento) ............................. 440 MC_MoveAbsolute (movimento assoluto del controllo movimento) ................................................................................................. 445 MC_MoveRelative (movimento relativo del controllo movimento) ................................................................................................. 448 MC_MoveVelocity (velocità di movimento del controllo movimento)............................................................................... 453 MC_Power (potenza del controllo movimento)......................... 457 MC_ReadActualPosition (posizione effettiva di lettura del controllo movimento)............................................................................... 460

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

9

Sommario

MC_ReadActualVelocity (velocità effettiva di lettura del controllo movimento)............................................................................... 464 MC_ReadAxisError (errore dell'asse di lettura del controllo movimento)............................................................................... 468
Codici di errore AxisErrorID ................................................ 471 MC_ReadBoolParameter (parametro BOOL di lettura del controllo movimento)............................................................................... 473 MC_ReadParameter (parametro di lettura del controllo movimento)............................................................................... 475 MC_ReadStatus (stato di lettura del controllo movimento)....... 478 MC_Reset (reset del controllo movimento) .............................. 484 MC_SetPosition (posizione impostazione del controllo movimento)............................................................................... 486 MC_Stop (arresto del controllo movimento) ............................. 489 MC_TouchProbe (sonda a contatto del controllo movimento).. 492 MC_WriteBoolParameter (parametro BOOL di scrittura del controllo movimento) ................................................................ 496 MC_WriteParameter (parametro di scrittura del controllo movimento)............................................................................... 499

Istruzioni di controllo dei processi

Capitolo 19
DERIVATE ............................................................................... 503 FFL (caricamento FIFO)........................................................... 505
Diagrammi di temporizzazione istruzione FFL e FFU ......... 510 FFU (Scarica FIFO) .................................................................. 515 HYSTER (isteresi) .................................................................... 520 INTEGRAL ............................................................................... 522 AND.......................................................................................... 527 LFL (carico LIFO) ..................................................................... 528 LFU (scarica LIFO) ................................................................... 530 PWM (Pulse Width Modulation)................................................ 533 SCALER (scala) ....................................................................... 535 STACKINT (valori interi dello stack) ......................................... 537 SCL .......................................................................................... 540
Esempi di diagrammi di temporizzazione dell'istruzione SCL ............................................................................................ 544 TND (interruzione programma corrente)................................... 547 LIMIT (prova limite) .................................................................. 549

Istruzione per il controllo del programma

Capitolo 20
AFI (sempre false) ................................................................... 553 NOP (nessuna operazione)...................................................... 553 SUS (sospensione) .................................................................. 554

Istruzione proporzionale integrale derivativa (PID)
10

Capitolo 21
Che cos'è il controllo proporzionale integrale derivativo (PID)?557 IPIDCONTROLLER (controllore proporzionale­integrale­ derivativo) ................................................................................ 557
Tipo di dati GAIN_PID......................................................... 561
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Sommario
Tipo di dati AT_Param ........................................................ 562 Modalità di implementazione del controllo PID da parte del blocco funzione IPIDController............................................ 563 Operazione del blocco funzione IPIDController .................. 564 Utilizzo dell'istruzione proporzionale integrale derivativa .... 565
Utilizzo dell'auto tuning con il blocco funzione IPIDController ................................................................ 568 Auto tuning in sistemi di primo e secondo ordine........... 569 Configurazione dell'auto tuning...................................... 570 Utilizzo di un STI (Selectable Timed Interrupt) con auto tuning............................................................................. 577 Esempio: IPIDController con auto tuning....................... 577 Esempio: come creare un ciclo di feedback per il valore manipolato ..................................................................... 579 Esempio: come aggiungere un UDFB a un programma PID ....................................................................................... 580 Esempio: come creare un programma IPIDController per controllare la temperatura .............................................. 581 Esempio: come creare un programma IPIDController per controllare il livello di erogazione dell'acqua .................. 583 PID (proporzionale integrale derivativa) ................................... 586 Stato della macchina di istruzione PID................................ 591 Diagrammi di temporizzazione dell'istruzione PID .............. 592

Capitolo 22 Istruzioni Real Time Clock (RTC) RTC_READ (lettura Real-Time Clock) ..................................... 597
RTC_SET (impostare Real-Time Clock) .................................. 599

Istruzioni socket

Capitolo 23
SOCKET_ACCEPT.................................................................. 604 SOCKET_CREATE.................................................................. 607 SOCKET_DELETE................................................................... 612 SOCKET_DELETEALL ............................................................ 615 SOCKET_INFO ........................................................................ 618 SOCKET_OPEN ...................................................................... 623 SOCKET_READ....................................................................... 628 SOCKET_WRITE ..................................................................... 632 Tipo di dati SOCKADDR_CFG ................................................. 636 Tipo di dati SOCK_STATUS..................................................... 637 Codici di errore del socket ........................................................ 637 Bit di stato per l'istruzione del socket........................................ 641 Diagrammi di temporizzazione dell'istruzione Socket............... 641 Diagrammi di transazione dell'istruzione Socket ...................... 649 Transazioni per client TCP ....................................................... 649 Transazioni per server TCP...................................................... 649 Transazioni per UDP con connessione aperta ......................... 650 Transazioni per UDP senza connessioni aperte....................... 650 Diagrammi di stato della macchina per TCP ............................ 651 Diagrammi dello stato della macchina per UDP ....................... 654

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

11

Sommario
Istruzioni di elaborazione della stringa
Istruzioni del timer

Capitolo 24
ASCII ....................................................................................... 657 CHAR (codice ASCII a carattere della stringa) ........................ 659 DELETE (eliminare una sottostringa)....................................... 661 FIND (trova sottostringa) .......................................................... 663 INSERT (inserimento stringa)................................................... 664 LEFT (estrae a sinistra di una stringa) ..................................... 667 MID (estrae dal centro di una stringa) ...................................... 668 MLEN (lunghezza della stringa) ............................................... 671 RIGHT (estrazione a destra di una stringa) .............................. 672 REPLACE (sostituisce la sottostringa) ................................................. 674
Capitolo 25
Configurazione delle istruzioni del timer .................................. 677 TOF (timer, ritardo alla diseccitazione) .................................... 678 TON (timer, ritardo all'eccitazione) ........................................... 680 TONOFF (ritardo, on, off) ......................................................... 682 TP (tempo impulsi) ................................................................... 685 RTO (timer di ritrasmissione, Ritardo all'eccitazione) ............... 687 DOY (anno di controllo per Real-Time clock) ........................... 689 TDF (differenza di tempo)......................................................... 691 TOW (settimana di controllo per Real Time Clock) .................. 693

12

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

In questo manuale Controllori supportati

Introduzione

In questa guida vengono fornite informazioni di riferimento relative all'insieme di istruzioni disponibili per lo sviluppo di programmi da utilizzare nei sistemi di controllo Micro800. L'insieme di istruzioni include il supporto dei linguaggi di programmazione ST (Structured Text), LD (Ladder Diagram) e FBD (Function Block Diagram). Inoltre, vengono definiti elementi ladder supportati nell'ambiente di sviluppo Connected Components Workbench.
Connected Components Workbench include il supporto della configurazione per i seguenti controllori Micro800.

· 2080-LC10-12AWA · 2080-LC10-12DWD · 2080-LC10-12QBB · 2080-LC10-12QWB · 2080-LC20-20AWB · 2080-LC20-20QBB · 2080-LC20-20QWB · 2080-LC30-10QVB · 2080-LC30-10QWB · 2080-LC30-16AWB · 2080-LC30-16QVB · 2080-LC30-16QWB

· 2080-LC30-24QBB · 2080-LC30-24QVB · 2080-LC30-24QWB · 2080-LC30-48AWB · 2080-LC30-48QBB · 2080-LC30-48QVB · 2080-LC30-48QWB · 2080-LC50-24AWB · 2080-LC50-24QBB · 2080-LC50-24QVB · 2080-LC50-24QWB · 2080-LC50-48AWB · 2080-LC50-48QBB · 2080-LC50-48QVB · 2080-LC50-48QWB · 2080-LC50-48QWB - SIM · 2080-LC50-24AWB · 2080-LC70-24QBB · 2080-LC70-24QWB

Risorse aggiuntive

Questi documenti contengono informazioni aggiuntive relative a prodotti Rockwell Automation correlati.

Risorsa

Descrizione

Criteri per il cablaggio e la messa a terra in automazione industriale, pubblicazione 1770-4.1 disponibile all'indirizzo http://literature.rockwellautomation.com/idc/groups/li terature/documents/in/1770-in041_-en-p.pdf.

Fornisce criteri generali per l'installazione di un sistema industriale Rockwell Automation.

Sito Web delle certificazioni prodotto, http://www.ab.com

Fornisce dichiarazioni di conformità, certificati e altri dettagli di certificazione.

Guida alla migrazione dei controller MicroLogix a

Viene illustrato come utilizzare gli strumenti software

Micro800, disponibile

per selezionare un controller Micro800 adatto e come

all'https://literature.rockwellautomation.com/idc/grou convertire i programmi MicroLogix in modo che

ps/literature/documents/rm/2080-rm002_-en-e.pdf funzionino con il controller Micro800.

Micro800 Controllers Starter Pack Quick Start,

Viene illustrato come utilizzare un controller Micro800

disponibile

con un terminale PanelView 800.

all'https://literature.rockwellautomation.com/idc/grou

ps/literature/documents/qs/2080-qs004_-en-e.pdf

Configurazione dei controller Micro800 su FactoryTalk Vengono fornite istruzioni di avvio rapido per la

Gateway, disponibile all'indirizzo

configurazione di un controller Micro800 in FactoryTalk

https://literature.rockwellautomation.com/idc/groups/l Linx Gateway.

iterature/documents/qs/2080-qs005_-en-e.pdf

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

13

Introduzione
Avvisi legali

È possibile visualizzare o scaricare pubblicazioni all'indirizzo http://www.rockwellautomation.com/literature. Per ordinare copie cartacee di documentazione tecnica, contattare il distributore Rockwell Automation locale o un rappresentante commerciale.
Rockwell Automation pubblica le note legali, quali informative sulla privacy, accordi di licenza, divulgazioni del marchio e altri termini e condizioni, nella pagina Note legali del sito Web di Rockwell Automation.
Contratto di licenza con l'utente finale (EULA)
Il contratto di licenza con l'utente finale di Rockwell Automation ("EULA") può essere consultato aprendo il file License.rtf archiviato nella cartella di installazione del prodotto sul disco rigido del PC.
La posizione predefinita del file è:
C:\Program Files (x86)\Common Files\Rockwell\license.rtf.
Licenze software open source
Il software incluso in questo prodotto contiene software con copyright concesso in licenza con una o più licenze open source.
È possibile visualizzare l'elenco completo di tutti i software open source utilizzati nel prodotto e le relative licenze, aprendo il file Indice.html archiviato nella cartella OPENSOURCE del prodotto sul disco rigido del PC.
La posizione predefinita del file è:
C:\Program Files (x86)\Common Files\Rockwell\Help\Connected Components Workbench\Release Notes\OPENSOURCE\Indice.htm
Il codice sorgente dei pacchetti open source inclusi nel prodotto è disponibile nei rispettivi siti Web del progetto. In alternativa, è possibile ottenere il codice sorgente completo contattando Rockwell Automation tramite il modulo di Contact disponibile sul sito Web di Rockwell Automation: http://www.rockwellautomation.com/global/aboutus/contact/contact.page. Inserire "Open source" nel testo della richiesta.

14

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 1
Ricerca di informazioni sulle istruzioni e sugli elementi ladder
Connected Components Workbench include un set completo di istruzioni con strutture e vettori, ambienti di sviluppo per la logica ladder, testo strutturato, diagramma a blocchi funzionali e programmi di blocchi funzione definiti dall'utente. Inoltre, Connected Components Workbench include strumenti di configurazione dell'interfaccia utente per i controllori Micro800, unità PowerFlex®, un dispositivo relè di sicurezza, terminali grafici del componente PanelViewTM e opzioni di connettività di rete e seriali. Per informazioni su una specifica istruzione, inclusi descrizione, dettagli dei parametri ed esempi di linguaggio, individuare l'istruzione nel sommario o in uno dei seguenti argomenti di riferimento.
· Riferimento sulle istruzioni in ordine alfabetico a pagina 18 Per una descrizione degli elementi ladder utilizzati in Connected Components Workbench, vedere la seguente sezione:
· Riferimento linguaggio LD (Ladder Diagram) a pagina 25

Blocchi di istruzione

Il set di istruzioni Connected Components Workbench comprende i blocchi di istruzioni conformi allo standard IEC 61131-3 per i controllori Micro800. I blocchi di istruzioni comprendono operatori, funzioni e blocchi funzione.
Vedere anche
Operatori a pagina 15 Funzioni a pagina 16 Blocchi funzione a pagina 17

Operatori

Il set di istruzioni Connected Components Workbench include i blocchi istruzione conformi a IEC 61131-3 per i controllori Micro800; gli operatori sono inclusi nel set di istruzioni Connected Components Workbench.

Un operatore è un'operazione logica di base, ad esempio aritmetica, booleana, di comparatore o conversione dati.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

15

Capitolo 1

Ricerca di informazioni sulle istruzioni e sugli elementi ladder
Vedere anche
Blocchi funzione a pagina 17 Funzioni a pagina 16

Funzioni

Le funzioni hanno uno o più parametri di ingresso e uno o più parametri di uscita.
Formato del blocco di istruzioni
Un blocco di istruzioni è rappresentato da un singolo rettangolo e ha un numero fisso di punti di connessione di ingresso e di uscita. Un blocco di istruzioni elementare esegue una sola funzione.

Elemento num.

Elemento
Nome blocco
Ingresso
Connessione di ingresso Uscita
Connessione di uscita

Descrizione Il nome della funzione da eseguire dal blocco di istruzione è scritto all'interno del rettangolo (in alto). Ogni ingresso di un blocco di istruzioni è etichettato e possiede un tipo predefinito. Gli ingressi sono connessi sul bordo sinistro.
Ogni uscita di un blocco di istruzioni è etichettata e possiede un tipo predefinito. Le uscite sono connesse sul bordo destro.

Chiamata di una funzione
Connected Components WorkbenchTM non supporta chiamate a funzioni ricorsive. Quando una funzione della sezione Funzioni viene chiamata da se stessa o da una delle sue funzioni chiamate, si verifica un errore di runtime. Inoltre, le funzioni non archiviano i valori locali delle proprie variabili locali. Dato che le funzioni non sono oggettivate, non possono richiamare blocchi funzione.
· Una funzione può essere richiamata da un programma, una funzione o un blocco funzione.
· Qualsiasi programma di qualsiasi sezione può chiamare una o più funzioni. Una funzione può avere variabili locali.
· Una funzione non ha nessun significato di istanza, ovvero i dati locali non sono archiviati e di norma andranno persi da una chiamata all'altra.
· Poiché l'esecuzione di una funzione è controllata dal relativo programma principale, l'esecuzione di quest'ultimo è sospesa fino al termine della funzione.

16

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 1

Ricerca di informazioni sulle istruzioni e sugli elementi ladder

Programma principale

Funzione

Funzione

Blocchi funzione

Definizione dei nomi di parametri e funzioni
L'interfaccia di una funzione deve essere definita esplicitamente con tipo e nome univoco per ciascuno dei parametri chiamanti (ingresso) o dei parametri di ritorno (uscita). Una funzione ha un solo parametri di ritorno. Il valore del parametro di ritorno di un blocco funzione varia a seconda del linguaggio di programmazione (FBD, LD, ST). I nomi delle funzioni e dei relativi parametri possono contenere un massimo di 128 caratteri. I nomi del parametro della funzione può iniziare con una lettera o un carattere di sottolineatura, seguiti da lettere, cifre e singoli caratteri di sottolineatura.
Vedere anche
Blocchi funzione a pagina 17 Operatori a pagina 15
Un blocco funzione è un blocco di istruzioni con parametri di ingresso e uscita e che funziona con dati interni (parametri). Può essere scritto nei linguaggi testo strutturato, ladder diagram e diagramma a blocchi funzionali.
Formato del blocco di istruzioni
Un blocco di istruzioni è rappresentato da un singolo rettangolo e ha un numero fisso di punti di connessione di ingresso e di uscita. Un blocco di istruzioni elementare esegue una sola funzione.

Elemento num. Elemento

Descrizione

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

17

Capitolo 1

Ricerca di informazioni sulle istruzioni e sugli elementi ladder

Nome blocco Il nome della funzione da eseguire dal blocco di istruzione è scritto all'interno del rettangolo (in alto).

Ingresso

Ogni ingresso di un blocco di istruzioni è etichettato e possiede un tipo predefinito.

Connessione di ingresso Uscita

Gli ingressi sono connessi sul bordo sinistro. Ogni uscita di un blocco di istruzioni è etichettata e possiede un tipo predefinito.

Connessione di Le uscite sono connesse sul bordo destro. uscita

Chiamata di un blocco funzione
Quando in un programma viene chiamato un blocco funzione, in realtà viene chiamata un'istanza di esso. L'istanza utilizza lo stesso codice, ma viene creata un'istanza dei parametri di ingresso e uscita, ovvero per ogni istanza del blocco funzione vengono copiate le variabili locali. I valori delle variabili dell'istanza di un blocco funzione sono archiviati da un ciclo all'altro.
Un blocco funzione può essere chiamato da un programma o da un altro blocco funzione, mentre non può essere chiamato dalle funzioni, in quanto di queste non viene creata un'istanza.

Definizione dei nomi di parametri e blocchi funzione
L'interfaccia di un blocco funzione deve essere definita esplicitamente con tipo e un nome unico per ciascuno dei parametri chiamanti (ingresso) o dei parametri di ritorno (uscita). I blocchi funzione possono avere più di un parametro di uscita. Il valore del parametro di ritorno di un blocco funzione varia a seconda del linguaggio di programmazione (FBD, LD, ST).
I nomi dei blocchi funzione e dei relativi parametri possono contenere un massimo di 128 caratteri. I nomi del parametro del blocco funzione può iniziare con una lettera o un carattere di sottolineatura, seguiti da lettere, numeri e singoli caratteri di sottolineatura.

Vedere anche
Funzioni a pagina 16 Operatori a pagina 15

Istruzione impostate in ordine alfabetico

Istruzione - a pagina 103

Istruzione mappata (tema Logix) SUB

La tabella seguente elenca le istruzioni per il controllore Micro800 disponibili in Connected Components Workbench e le relative istruzioni di mappatura nel tema Logix, in ordine alfabetico.

Categoria

Tipo

Descrizione

Aritmetico

Operatore

Sottrarre un valore Integer, Real o Time da un altro valore Integer, Real o Time.

18

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzione
* a pagina 92
/ a pagina 84 + a pagina 72
< a pagina 249
<= a pagina 250
<> a pagina 251
= a pagina 243 > a pagina 246
>= a pagina 247
ABL a pagina 111
ABS a pagina 67 ACB a pagina 118
ACL a pagina 113 ACOS a pagina 69 ACOS_LREAL a pagina 71 AFI a pagina 553 AHL a pagina 115 AND a pagina 165
AND_MASK a pagina 135 ANY_TO_BOOL a pagina 263 ANY_TO_BYTE a pagina 264 ANY_TO_DATE a pagina 265
ANY_TO_DINT a pagina 267 ANY_TO_DWORD a pagina 268 ANY_TO_INT a pagina 269 ANY_TO_LINT a pagina 270 ANY_TO_LREAL a pagina 272 ANY_TO_LWORD a pagina 273 ANY_TO_REAL a pagina 274 ANY_TO_SINT a pagina 275 ANY_TO_STRING a pagina 276 ANY_TO_TIME a pagina 277 ANY_TO_UDINT a pagina 278 ANY_TO_UINT a pagina 279 ANY_TO_ULINT a pagina 280 ANY_TO_USINT a pagina 281 ANY_TO_WORD a pagina 282 ARD a pagina 120

Istruzione mappata (tema Logix) MUL
DIV ADD

Categoria
Aritmetico
Aritmetico Aritmetico

Capitolo 1 Tipo
Operatore
Operatore Operatore

Ricerca di informazioni sulle istruzioni e sugli elementi ladder Descrizione
Moltiplica due o più valori Integer o Real.
Divisione di due valori Integer o Real. Somma due o più valori Integer, Real, Time o String.

LES

Confronta

Operatore

Per i valori Integer, Real, Time, Date e String, confronta i valori di

ingresso per stabilire se il primo è inferiore al secondo.

LEQ

Confronta

Operatore

Per i valori Integer, Real, Time, Date e String, confronta i valori di

ingresso per stabilire se il primo è inferiore o uguale al secondo.

NEQ

Confronta

Operatore

Per i valori Integer, Real, Time, Date e String, confronta i valori di

ingresso per stabilire se il primo non è uguale al secondo.

EQU

Confronta

Operatore

Testa se un valore è uguale a un altro.

GRT

Confronta

Operatore

Per i valori Integer, Real, Time, Date e String, confronta i valori di

ingresso per stabilire se il primo è maggiore del secondo.

GEQ

Confronta

Operatore

Per i valori Integer, Real, Time, Date e String, confronta i valori di

ingresso per stabilire se il primo è maggiore o uguale al secondo.

ABL

Comunicazioni

Blocco funzione

Conta il numero di caratteri nel buffer fino al carattere di fine riga

incluso.

ABS

Aritmetico

Funzione

Restituisce il valore assoluto di un valore Real.

ACB

Comunicazioni

Blocco funzione

Conta il numero totale dei caratteri nel buffer.

ACL ACS
ACOS_LREAL AFI AHL AND

Comunicazioni Aritmetico
Aritmetico Controllo programma Comunicazioni Operazioni booleane

Blocco funzione Funzione
Funzione Funzione Blocco funzione Operatore

Elimina i buffer di ricezione e trasmissione. Calcola l'arcocoseno di un valore Real.
Calcola l'arcocoseno di un valore Long Real. Disabilita un ramo temporaneamente quando si esegue il debug. Impostare o reimpostare linee di arbitraggio modem. Esegue un'operazione booleana AND tra due o più valori.

AND_MASK
ANY_TO_BOOL ANY_TO_BYTE
ANY_TO_DATE
STOD ANY_TO_DWORD ACI ANY_TO_LINT ANY_TO_LREAL ANY_TO_LWORD STOR ANY_TO_SINT DTOS
ANY_TO_TIME ANY_TO_UDINT ANY_TO_UINT ANY_TO_ULINT ANY_TO_USINT ANY_TO_WORD ARD

Operazioni binarie
Conversione dati Conversione dati
Conversione dati
Conversione dati Conversione dati Conversione dati Conversione dati Conversione dati Conversione dati Conversione dati Conversione dati Conversione dati
Conversione dati Conversione dati Conversione dati Conversione dati Conversione dati Conversione dati Comunicazioni

Funzione
Funzione Funzione
Funzione
Funzione Funzione Funzione Funzione Funzione Funzione Funzione Funzione Funzione
Funzione Funzione Funzione Funzione Funzione Funzione Blocco funzione

Esegue AND bit-to-bit tra due valori Integer.
Converte un valore non booleano in uno booleano. Converte un valore in un byte.
Converte un tipo di dati String, Integer, Real o Time in un tipo di dati Date.
Converte un valore in Double Integer. Converte un valore in un valore Double Word. Converte un valore in Integer. Converte un valore in Long Integer. Converte un valore in Long Real. Converte un valore in Long Word. Converte un valore in Real. Converte un valore in Short Integer.
Converte un valore in String.
Converte un valore in un tipo di dati Time. Converte un valore in Unsigned Double Integer. Converte un valore in Unsigned Integer. Converte un valore in Unsigned Long Integer. Converte un valore in Unsigned Short Integer. Converte un valore in Word. Legge i caratteri dal buffer di ingresso e posiziona gli stessi in una stringa.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

19

Capitolo 1 Istruzione
ARL a pagina 123

Ricerca di informazioni sulle istruzioni e sugli elementi ladder

Istruzione mappata (tema Logix)
ARL

Categoria Comunicazioni

Tipo Blocco funzione

ASCII a pagina 657

ASCII

Manipolazione stringa Funzione

ASIN a pagina 74 ASIN_LREAL a pagina 76 ATAN a pagina 77 ATAN_LREAL a pagina 79 MEDIA a pagina 285

ASN ASN_LREAL ATN ATAN_LREAL AVE

Aritmetico Aritmetico Aritmetico Aritmetico Manipolazione dati

Funzione Funzione Funzione Funzione Blocco funzione

AWA a pagina 125

AWA

Comunicazioni

Funzione

AWT a pagina 128

AWT

BSL a pagina 137

BSL

BSR a pagina 141

BSR

CHAR a pagina 659

CHAR

Comunicazioni Operazioni binarie Operazioni binarie Manipolazione stringa

Funzione Blocco funzione Blocco funzione Funzione

COM_IO_WDOG a pagina 179 COP a pagina 287

COM_IO_WDOG COP

Comunicazioni Conversione dati

Blocco funzione Blocco funzione

COS a pagina 81 COS_LREAL a pagina 82 CTD a pagina 255

COS COS_LREAL CTD

Aritmetico Contatore

Funzione Funzione Funzione

CTU a pagina 257 CTUD a pagina 259
DELETE a pagina 661 DERIVATE a pagina 503

CTU CTUD
DELETE DERIVATE

Contatore Contatore

Funzione Funzione

Manipolazione stringa Funzione Controllo del processo Blocco funzione

DLG a pagina 366

DLG

DOY a pagina 689

DOY

EXPT a pagina 86

EXPT

F_TRIG a pagina 159

OSF

FFL a pagina 515

FFL

FFU a pagina 515

FFU

Ingresso/uscita

Blocco funzione

Durata

Funzione

Aritmetico

Funzione

Operazioni booleane Blocco funzione Controllo del processo Blocco funzione

Controllo del processo Blocco funzione

FIND a pagina 663 HSC a pagina 298
HSC_SET_STS a pagina 314
HSCE a pagina 337 HSCE_CFG a pagina 341 HSCE_CFG_PLS a pagina 344
HSCE_READ_STS a pagina 346

FIND HSC
HSC_SET_STS
HSCE HSCE_CFG HSCE_CFG_PLS
HSCE_READ_STS

Manipolazione stringa Ingresso/uscita

Funzione Blocco funzione

Ingresso/uscita

Blocco funzione

Ingresso/uscita Ingresso/uscita Ingresso/uscita

Blocco funzione Blocco funzione Blocco funzione

Ingresso/uscita

Blocco funzione

Descrizione
Legge una riga di caratteri dal buffer di ingresso e posiziona gli stessi in una stringa. Restituire il codice ASCII per i caratteri in una stringa. Carattere -> codice ASCII. Calcola l'arcoseno di un valore Real. Calcola l'arcoseno di un valore Long Real. Calcola l'arcotangente di un valore Real. Calcola l'arcotangente di un valore Long Real. Calcola una media in esecuzione su un numero di un campioni definito. Scrivere una stringa con due caratteri aggiunti (configurati dall'utente) su un dispositivo esterno. Scrive i caratteri da una stringa sorgente a un dispositivo esterno. Sposta un bit in un elemento vettore verso sinistra. Sposta un bit in un elemento vettore verso destra. Restituisce una stringa di un carattere per un codice ASCII. Codice ASCII -> Carattere. Monitora la comunicazione con il controllore. Copia i dati binari nell'elemento di origine per l'elemento di destinazione. Calcola il coseno di un valore Real. Calcola il coseno di un valore Long Real.
Conta gli Integer da un valore dato fino a 0, 1 a 1.
Conta gli Integer da 0 fino a un valore dato, 1 a 1. Conta gli Integer da 0 fino a un valore dato, 1 a 1, o da un valore dato a 0, 1 a 1. Elimina i caratteri da una stringa. Differenziazione di un valore reale su una durata del ciclo definito.
Scrive i valori di variabile dal motore di runtime in un file di registrazione dati su una scheda SD. Attiva un output se il valore del real-time clock è compreso nell'intervallo dell'impostazione Ora dell'anno. Calcola il valore Real di un numero di base elevato alla potenza dell'esponente intero. Rileva un fronte di discesa di una variabile booleana. Carica i dati a 8 bit, 16 bit, 32 bit o 64 bit in un vettore creato dall'utente denominato stack FIFO. Scarica i dati a 8, 16, 32 e 64 bit da un vettore creato dall'utente denominato stack FIFO (First In First Out, primo a entrare primo a uscire) nello stesso ordine in cui i dati sono stati caricati usando l'istruzione FFL. individua e fornisce la posizione delle sottostringhe nelle stringhe. HSC applica all'high-speed counter valori alti e bassi preimpostati e valori di origine per l'uscita. HSC_SET_STS permette l'impostazione o il ripristino manuale dello stato del conteggio dell'HSC. HSCE: avvio, arresto e lettura del valore dell'accumulatore. HSCE_CFG è la configurazione dell'High Speed Counter.
HSCE_CFG_PLS è la configurazione dell'interruttore di fine corsa programmabile (PLS) dell'High Speed Counter. HSCE_READ_STS legge lo stato dell'High Speed Counter.

20

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzione
HSCE_SET_STS a pagina 348
HYSTER a pagina 520 IIM a pagina 368 INSERT a pagina 664
INTEGRAL a pagina 522 IOM a pagina 370 IPIDCONTROLLER a pagina 557
KEY_READ a pagina 372
KEY_READ_REM a pagina 375
LCD a pagina 356
LCD_BKLT_REM a pagina 358
LCD_REM a pagina 360 LEFT a pagina 667 LFL (carico LIFO) a pagina 528
LFU (scarica LIFO) a pagina 530
LIM_ALRM a pagina 63
LIMIT a pagina 549 LOG a pagina 87 MAX a pagina 294 MC_AbortTrigger a pagina 434
MC_Halt a pagina 437
MC_Home a pagina 440 MC_MoveAbsolute a pagina 445
MC_MoveRelative a pagina 448
MC_MoveVelocity a pagina 453
MC_Power a pagina 457 MC_ReadActualPosition a pagina 464 MC_ReadActualVelocity a pagina 464 MC_ReadAxisError a pagina 468
MC_ReadBoolParameter a pagina 473 MC_ReadParameter a pagina 475

Istruzione mappata (tema Logix) HSCE_SET_STS HYSTER IIM INSERT
INTEGRAL IOM IPIDCONTROLLER
KEY_READ_REM
LCD_BKLT_REM LCD_REM LEFT LFL LFU
LIM LIMIT LOG MAX MC_AbortTrigger MC_Halt MAH MAM MC_MoveRelative MCD MSO MC_ReadActualPosition

Categoria

Capitolo 1 Tipo

Ricerca di informazioni sulle istruzioni e sugli elementi ladder Descrizione

Ingresso/uscita

Blocco funzione

Controllo del processo Ingresso/uscita Manipolazione stringa

Blocco funzione Blocco funzione Funzione

Controllo del processo Ingresso/uscita Controllo del processo

Blocco funzione Blocco funzione Blocco funzione

Ingresso/uscita

Blocco funzione

Ingresso/uscita

Blocco funzione

Ingresso/uscita

Funzione

Ingresso/uscita

Funzione

Ingresso/uscita Manipolazione stringa
Controllo del processo

Funzione Funzione
Blocco funzione

Controllo del processo Blocco funzione

Allarme

Blocco funzione

Controllo del processo Aritmetico Manipolazione dati Controllo assi

Funzione Funzione Funzione Blocco funzione

Controllo assi

Blocco funzione

Controllo assi Controllo assi

Blocco funzione Blocco funzione

Controllo assi

Blocco funzione

Controllo assi

Blocco funzione

Controllo assi Controllo assi

Blocco funzione Blocco funzione

HSCE_SET_STS imposta/esegue il reset manuale dello stato dell'High Speed Counter. Isteresi booleana sulla differenza tra numeri reali.
Aggiorna gli ingressi prima della normale scansione in uscita. inserisce sottostringhe in posizioni definite dall'utente all'interno delle stringhe.
Integra un valore real durante la durata del ciclo definito. Aggiorna le uscite prima della normale in uscita.
Configurare e controllare gli ingressi e le uscite utilizzate per la logica proporzionale-integrale-derivativa (PID). Solo Micro810. Legge lo stato della chiave su un modulo LCD opzionale quando il display dell'utente è attivo. Solo Micro820. Legge lo stato della chiave su un modulo LCD remoto opzionale quando il display dell'utente è attivo. Solo Micro810. Visualizza una stringa o un numero su una schermata LCD. Imposta i parametri di retroilluminazione dell'LCD remoto all'interno del programma utente. Visualizza i messaggi definiti dall'utente per l'LCD remoto. Estrae i caratteri dal lato sinistro di una stringa.
Carica i dati a 8 bit, 16 bit, 32 bit o 64 bit in un vettore creato dall'utente denominato stack LIFO. Scarica i dati a 8 bit, 16 bit, 32 bit e 64 bit da un vettore creato dall'utente denominato stack LIFO (Last In First Out, ultimo a entrare primo a uscire) nello stesso ordine in cui i dati sono stati caricati usando l'istruzione LFL. Un allarme con isteresi di un valore Real per i limiti superiore e inferiore. riduce i valori interi a un intervallo definito. Calcola il logaritmo (base 10) di un valore Real. Calcola il valore massimo tra due valori interi. Interrompe i blocchi funzione Controllo assi collegati agli eventi di attivazione. Comanda un arresto controllato del movimento in condizioni operative normali. Comanda l'asse per l'esecuzione della sequenza <search home>. Determina un movimento controllato verso una posizione assoluta specificata. Determina un movimento controllato di una distanza specificata rispetto alla posizione attuale nel momento dell'esecuzione. Determina un movimento controllato infinito a una velocità specificata. Controllo dello stato di alimentazione (ON o OFF). Restituisce la posizione effettiva dell'asse di feedback.

MC_ReadActualVelocity Controllo assi

Blocco funzione

Ritorna alla velocità corrente dell'asse di feedback.

MC_ReadAxisError

Controllo assi

MC_ReadBoolParameter Controllo assi

MC_ReadParameter

Controllo assi

Blocco funzione Blocco funzione Blocco funzione

Legge gli errori dell'asse non in relazione ai blocchi funzione Controllo movimento.
Restituisce il valore di un parametro specifico del produttore di tipo BOOL.
Restituisce il valore di un parametro specifico del fornitore di tipo Real.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

21

Capitolo 1

Ricerca di informazioni sulle istruzioni e sugli elementi ladder

Istruzione MC_ReadStatus a pagina 478

Istruzione mappata (tema Logix)
MC_ReadStatus

Categoria Controllo assi

Tipo Blocco funzione

MC_Reset a pagina 484

MAFR

Controllo assi

Blocco funzione

MC_SetPosition a pagina 486

MRP

Controllo assi

Blocco funzione

MC_Stop a pagina 489

MAS

Controllo assi

Blocco funzione

MC_TouchProbe a pagina 492

MC_TouchProbe

Controllo assi

Blocco funzione

MC_WriteBoolParameter a pagina 496 MC_WriteParameter a pagina 499

MC_WriteBoolParameter Controllo assi

MC_WriteParameter

Controllo assi

Blocco funzione Blocco funzione

MID a pagina 668 MIN a pagina 292 MLEN a pagina 671 MM_INFO a pagina 377 MOD a pagina 89 MODULE_INFO a pagina 380

MID MIN MLEN MM_INFO MOD MODULE_INFO

Manipolazione stringa Manipolazione dati Manipolazione stringa Ingresso/uscita Aritmetico Ingresso/uscita

Funzione Funzione Funzione Blocco funzione Funzione Blocco funzione

MOV a pagina 91
MSG_CIPGENERIC a pagina 182 MSG_CIPSYMBOLIC a pagina 191 MSG_MODBUS a pagina 196 MSG_MODBUS2 a pagina 202 MUX4B a pagina 175 MUX8B a pagina 172 Neg a pagina 94 NOP a pagina 553

MOV
MSG MSG_CIPSYMBOLIC MSG_MODBUS MSG_MODBUS2 MUX4B MUX8B NEG NOP

Aritmetico

Operatore

Comunicazioni Comunicazioni Comunicazioni Comunicazioni Booleano Booleano Aritmetico Controllo del programma

Funzione Funzione Funzione Funzione Funzione Funzione Operatore Funzione

NOT a pagina 166 NOT_MASK a pagina 144
OR a pagina 164

NOT NOT_MASK
OR

Operazioni booleane Operazioni binarie
Operazioni booleane

Operatore Funzione
Operatore

OR_MASK a pagina 146 PID a pagina 586

OR_MASK PID

Operazioni binarie

Funzione

Controllo del processo Blocco funzione

PLUGIN_INFO a pagina 392 PLUGIN_READ a pagina 394 PLUGIN_RESET a pagina 397 PLUGIN_WRITE a pagina 398 POW a pagina 95 PWM a pagina 533 R_TRIG a pagina 161 RAND a pagina 97 RCP a pagina 400

PLUGIN_INFO PLUGIN_READ PLUGIN_RESET PLUGIN_WRITE XPY PWM OSR RAND RCP

Ingresso/uscita

Blocco funzione

Ingresso/uscita

Blocco funzione

Ingresso/uscita

Blocco funzione

Ingresso/uscita

Blocco funzione

Aritmetico

Funzione

Controllo del processo Blocco funzione

Operazioni booleane Aritmetico Ingresso/uscita

Blocco funzione Funzione Blocco funzione

Descrizione
Restituisce lo stato dell'asse rispetto al movimento attualmente in corso. Trasforma lo stato dell'asse da ErrorStop a StandStill ripristinando tutti gli errori interni legati all'asse. Sposta il sistema delle coordinate di un asse tramite la manipolazione della posizione effettiva. Comanda un arresto di movimento controllato e trasferisce lo stato dell'asse su Arresto in corso. Registra una posizione dell'asse in corrispondenza di un evento di attivazione. Modifica il valore di un parametro specifico del fornitore di tipo BOOL. Modifica il valore di un parametro specifico del fornitore di tipo Real. Estrae i caratteri dal centro di una stringa. Calcola il valore minimo tra due valori interi. Calcola la lunghezza di una stringa. Legge le informazioni sull'intestazione del modulo di memoria. Esegue il calcolo Modulo sui valori Integer. Legge le informazioni di modulo da un modulo plug-in o di espansione. Assegna il valore di ingresso in un'uscita.
Invia un messaggio CIP generico esplicito. Invia un messaggio CIP Symbolic esplicito. Invia un messaggio Modbus. Invia un messaggio MODBUS/TCP su un canale Ethernet. Multiplexer tra quattro ingressi BOOL, restituisce un valore BOOL. Multiplexer tra otto ingressi BOOL, restituisce un valore BOOL. Converte un valore in un valore negativo. Funziona come segnaposto.
Converte i valori booleani in valori negati. Maschera negazione numero intero bit-to-bit, inverte il valore di un parametro. OR booleano di due o più valori.
Maschera OR numero intero bit-to-bit, abilita i bit. Un'istruzione di uscita che controlla le proprietà fisiche come la temperatura, la pressione, il livello dei liquidi o la portata tramite cicli di processo. Acquisisce le informazioni del modulo da un modulo plug-in generico (escluso il Modulo di memoria). Legge dati da un modulo plug-in generico (escluso il Modulo di memoria). Ripristina un modulo plug-in generico, ripristino hardware (ad esclusione di Modulo di memoria). Scrive dati per un modulo plug-in generico (escluso il Modulo di memoria). Calcola il valore di un numero Real elevato alla potenza dell'esponente Real. Attiva o disattiva l'uscita del PMW (Pulse Width Modulation) per un canale PWM configurato. Rileva un fronte di salita di una variabile booleana. Calcola valori interi casuali da un intervallo definito. Legge e scrive dati Ricetta su e da una scheda di memoria SD.

22

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzione
REPLACE a pagina 674 RHC a pagina 364 RIGHT a pagina 672 ROL a pagina 147 ROR a pagina 149 RPC a pagina 365 RS a pagina 163 RTC_READ a pagina 403 RTC_SET a pagina 405
RTO a pagina 687

Istruzione mappata (tema Logix) REPLACE RHC RIGHT ROL ROR RPC RS RTC_READ RTC_SET
RTO

SCALER a pagina 535 SCL a pagina 540
SHL a pagina 151
SHR a pagina 153
SIN a pagina 99 SIN_LREAL a pagina 100 SOCKET_ACCEPT a pagina 604

SCP SCL
SHL
SHR
SIN SIN_LREAL SOCKET_ACCEPT

SOCKET_CREATE a pagina 607

SOCKET_CREATE

SOCKET_DELETE a pagina 612 SOCKET_DELETEALL a pagina 615 SOCKET_INFO a pagina 618

SOCKET_DELETE SOCKET_DELETEALL SOCKET_INFO

SOCKET_OPEN a pagina 623

SOCKET_OPEN

SOCKET_READ a pagina 628 SOCKET_WRITE a pagina 632 SQRT a pagina 102 SR a pagina 167 STACKINT a pagina 537 STIS a pagina 413
SUS a pagina 554 SYS_INFO a pagina 407 TAN a pagina 105 TAN_LREAL a pagina 107 TDF a pagina 691 TND a pagina 547 TOF a pagina 678
TON a pagina 680
TONOFF a pagina 682

SOCKET_READ SOCKET_WRITE SQR SR STACKINT STS
SUS SYS_INFO TAN TAN_LREAL TDF TND TOF
TON
TONOFF

Categoria

Capitolo 1 Tipo

Ricerca di informazioni sulle istruzioni e sugli elementi ladder Descrizione

Manipolazione stringa Ingresso/uscita Manipolazione stringa Operazioni binarie Operazioni binarie Ingresso/uscita Operazioni booleane Ingresso/uscita Ingresso/uscita

Funzione Funzione Funzione Funzione Funzione Funzione Blocco funzione Blocco funzione Blocco funzione

Durata

Blocco funzione

Controllo del processo Blocco funzione Controllo del processo Blocco funzione

Operazioni binarie

Funzione

Operazioni binarie

Funzione

Aritmetico
Aritmetico Comunicazioni

Funzione
Funzione Blocco funzione

Comunicazioni
Comunicazioni Comunicazioni Comunicazioni
Comunicazioni

Blocco funzione
Blocco funzione Blocco funzione Blocco funzione
Blocco funzione

Comunicazioni
Comunicazioni Aritmetico Operazioni booleane Controllo del processo Interrupt

Blocco funzione
Blocco funzione Funzione Blocco funzione Blocco funzione Funzione

Controllo del programma Ingresso/uscita Aritmetico Aritmetico Durata

Blocco funzione Blocco funzione Funzione Funzione Funzione

Controllo del processo Funzione

Durata

Blocco funzione

Durata

Blocco funzione

Durata

Blocco funzione

Sostituisce le parti di una stringa con nuovi set di caratteri. Legge high-speed clock. Estrae i caratteri dal lato destro di una stringa. Per i numeri Integer a 32 bit, ruota i bit interi a sinistra. Per i numeri interi a 32 bit, ruota i bit dell'intero a destra. Legge il checksum del programma utente. Ripristino bistabile dominante. Legge le informazioni sul modulo real-time clock (RTC). Imposta dati RTC (Real-Time clock) per le informazioni sul modulo RTC. Tempo di ritrasmissione. Incrementa un timer interno quando l'ingresso è attivo, ma non ripristina il timer interno quando l'ingresso diventa inattivo. Scala il valore di ingresso in base all'intervallo di uscita. Converte un valore di ingresso non scalato in un valore in virgola mobile espresso in unità ingegneristiche. Per gli integer a 32-bit, sposta gli integer a sinistra e inserisce 0 nel bit meno significativo. Per gli Integer a 32 bit, sposta gli Integer a sinistra e colloca 0 nel bit più significativo. Calcola il seno di un valore Real.
Calcola il seno di un valore Long Real. Accetta una richiesta di connessione TCP da una destinazione remota e restituisce un'istanza di socket utilizzata per inviare e ricevere dati sulla connessione appena creata. Crea un'istanza del socket e restituisce un numero di istanza che viene usato come ingresso nelle operazioni socket successive. Elimina un'istanza di socket creata. Elimina tutte le istanze socket create.
Restituisce le informazioni per il socket come codici di errore e lo stato di esecuzione. Apre la connessione per l'indirizzo di destinazione specificato per le connessioni Transmission Control Protocol (TCP). Per le connessioni User Datagram Protocol (UDP), associa un indirizzo IP di destinazione e il numero di porta al socket specificato. Legge i dati su un socket.
Invia dati su un socket. Calcola la radice quadrata di un valore Real. Impostazione bistabile dominante. Gestisce lo stack di valori interi. Avvia il timer Selected Timed Interrupt (STI) utente dal programma di controllo invece che con l'avvio automatico. Sospende l'esecuzione del <controllore M800>. Legge il blocco dati dello stato per il controllore Micro800. Calcola la tangente di un valore Real. Calcola la tangente di un valore Long Real. Calcola la differenza di tempo tra TimeA e TimeB.
Arresta il ciclo di scansione del programma utente in corso. Tempistica ritardo spegnimento. Incrementa un timer interno fino a un valore dato. Tempistica ritardo accensione. Incrementa un timer interno fino a un valore dato. Ritardo di accensione di un'uscita in caso di ramo True, quindi ritardo di spegnimento di un'uscita in caso di ramo False.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

23

Capitolo 1 Istruzione
TOW a pagina 693

Ricerca di informazioni sulle istruzioni e sugli elementi ladder

Istruzione mappata (tema Logix)
TOW

Categoria Durata

Tipo Funzione

TP a pagina 685
TRIMPOT_READ a pagina 410 TRUNC a pagina 108 TTABLE a pagina 169 UIC a pagina 415 UID a pagina 416 UIE a pagina 418 UIF a pagina 420 XOR a pagina 166 XOR_MASK a pagina 155

TP
TRIMPOT_READ TRN TTABLE UIC UID UIE UIF XOR XOR_MASK

Durata
Ingresso/uscita Aritmetico Booleano Interrupt Interrupt Interrupt Interrupt Operazioni booleane Operazioni binarie

Blocco funzione
Blocco funzione Funzione Funzione Funzione Funzione Funzione Funzione Operatore Funzione

Descrizione
Attiva un'uscita se il valore del real-time clock è compreso nell'intervallo dell'impostazione Ora della settimana.
Tempistica impulsi. Sul fronte di salita, incrementa un timer interno fino a un valore dato. Legge il valore TrimPot da un trimpot specifico. Tronca valori Real, lasciando solo l'intero. Fornisce il valore di uscita in base alla combinazione degli ingressi. Annulla la perdita di bit per l'interrupt utente selezionato.
Disabilita un interrupt utente specifico. Abilita un interrupt utente specifico. Scarica o rimuove un ingresso utente in sospeso. OR esclusivo booleano di due o più valori. Maschera OR intero esclusivo bit-to-bit, restituisce valori di bit invertiti.

Vedere anche
Ricerca di informazioni sulle istruzioni e gli elementi ladder a pagina 15

24

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Linguaggio LD (Ladder Diagram)

Capitolo 2

Un ladder diagram (LD) è una rappresentazione grafica di equazioni Booleana che combinano i contatti (argomenti ingresso) con le bobine (risultati uscita). Utilizzando simboli grafici su un diagramma di programma (organizzato come ladder diagram di cablaggio relè), il linguaggio LD descrive prove e modifiche dei dati Booleana.
Nel diagramma i simboli grafici LD sono organizzati come un diagramma dei contatti elettrici. Il termine "ladder" (scala) deriva dal concetto di pioli collegati a linee di alimentazione verticali su entrambe le estremità, in cui ciascun piolo rappresenta un singolo circuito.
In Connected Components Workbench è incluso un editor di lingue LD e sono supportati solo gli elementi e le istruzioni forniti con il software Connected Components Workbench.
Vedere anche
Elementi del ladder diagram (LD) a pagina 29
Ambiente di sviluppo del programma LD a pagina 26
Utilizzo degli elementi nell'editor di lingue LD a pagina 56

Programmazione in Ladder Diagram

Un ladder diagram (LD) è una rappresentazione grafica di equazioni Booleana che combinano i contatti (argomenti ingresso) con le bobine (risultati uscita). Utilizzando simboli grafici su un diagramma di programma (organizzato come ladder diagram di cablaggio relè), il linguaggio LD descrive prove e modifiche dei dati Booleana.
Il linguaggio LD utilizza simboli grafici su un diagramma di programma, organizzato come diagramma ladder del cablaggio del relè, per descrivere le prove e le modifiche dei dati Booleani.
Connected Components Workbench fornisce un editor di lingue Diagramma ladder e supporta solo gli elementi e le istruzioni forniti con il software Connected Components Workbench.

Vedere anche
Ambiente di sviluppo del programma LD a pagina 26 Utilizzo degli elementi nell'editor di lingue LD a pagina 56 Elementi del ladder diagram (LD) a pagina 29

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

25

Capitolo 2

Linguaggio LD (Ladder Diagram)

Esempi di programma ladder diagram (LD) a pagina 57

Ambiente di sviluppo del programma LD

L'editor di lingue per un programma Diagramma ladder in cui si sviluppa una Program Organization Unit (POU).
Nella figura seguente vengono mostrate le aree principali dell'ambiente di sviluppo di programmi LD.

N.

Nome

Descrizione

1

Barra degli strumenti Istruzione Selezionare rapidamente un elemento istruzione e collocarlo nell'editor grafico LD o fare clic per aggiungere nell'editor di testo

LD.

2

Editor di testo LD

Modifica la logica mediante elementi mnemonici delle istruzioni ASCII.

3

Editor grafico LD

Modifica la logica mediante elementi delle istruzioni grafici.

4

Casella degli strumenti LD

Aggiunge elementi all'editor grafico LD.

Vedere anche
Elementi del ladder diagram (LD) a pagina 29 Barra degli strumenti Istruzione a pagina 26 Esempi di programma ladder diagram (LD) a pagina 57 Tasti di scelta rapida LD a pagina 59

Barra degli strumenti Istruzione (LD)

Barra degli strumenti Istruzione è il nome colloquiale per il riquadro secondario nel riquadro editor di lingue, che funziona come una barra degli strumenti e viene utilizzata per aggiungere elementi lingua come

26

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 2

Linguaggio LD (Ladder Diagram)

istruzioni allo Spazio di Lavoro dell'editor di lingue. È complementare alla casella degli strumenti di workbench.

Elemento Schede
Istruzioni Ricerca Preferiti

Descrizione Elenca gli elementi istruzione per categoria. Fare clic su una categoria per visualizzare le istruzioni all'interno di tale categoria. È anche possibile utilizzare i tasti freccia per selezionare categorie diverse. Fare clic sulle frecce a sinistra delle schede per scorrere le categorie. Fare clic sulla freccia giù a destra delle schede per visualizzare un elenco di tutte le categorie. Elenca le istruzioni corrispondenti alla categoria Schede selezionata. Una categoria può anche avere elementi istruzione base appuntati all'inizio dell'elenco. Fare clic sulle frecce a sinistra delle istruzioni per scorrere le istruzioni. Filtra le istruzioni per categoria non appena vengono immessi i nomi o la parola chiave descrittiva. Fare clic sul nome categoria per visualizzare le istruzioni filtrate per tale categoria. Personalizza un elenco di istruzioni che è possibile individuare e aggiungere rapidamente a un programma.
Vedere anche
Aggiungere elementi istruzione dalla barra degli strumenti Istruzione a pagina 27

Aggiungere elementi istruzione dalla barra degli strumenti Istruzione

Utilizzare la barra degli strumenti Istruzione per cercare, esplorare e aggiungere istruzioni allo Spazio di Lavoro dell'editor di lingue del programma Diagramma ladder (LD).

Per aggiungere elementi istruzione dalla barra degli strumenti
Istruzione all'editor di lingue:
1. Fare clic su una scheda categoria che comprende l'istruzione da aggiungere. È possibile accedere alla scheda utilizzando i tasti freccia e spostarla mediante trascinamento.
2. Selezionare l'istruzione attraverso un'operazione di trascinamento o facendo clic su di essa.
3. (facoltativo) Per individuare rapidamente l'istruzione, fare clic nel campo di ricerca, quindi digitare per trovare l'elemento istruzione in base al nome o alla parola chiave. Per chiudere la ricerca e abilitare la navigazione con tasto freccia, premere il tasto Esc.
4. (Opzionale) Fare clic con il pulsante destro del mouse sull'istruzione e selezionare Aggiungi ai Preferiti per aggiungerla alla scheda Preferiti. In alternativa, selezionare Rimuovi dai Preferiti per rimuoverla. L'impostazione Preferiti verrà salvata automaticamente.

Vedere anche
Barra degli strumenti Istruzione a pagina 26

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

27

Capitolo 2

Linguaggio LD (Ladder Diagram)

28

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Elementi del ladder diagram (LD)

Capitolo 3

Elemento
Piolo a pagina 29 Blocco istruzione (LD) a pagina 37
Diramazione a pagina 33 Bobina a pagina 37 Contatto a pagina 47 Ritorno a pagina 53
Salto a pagina 54

Gli elementi del diagramma Ladder sono i componenti utilizzati per compilare una Programmazione in Ladder Diagram. Tutti gli elementi elencati nella seguente tabella possono essere aggiunti a una Programmazione in Ladder Diagram all'interno di Connected Components Workbench.
Descrizione
Rappresenta un gruppo di elementi di circuito che portano all'attivazione di una bobina. Le istruzioni comprendono operatori, funzioni e blocchi funzione, tra cui blocchi funzione definiti dall'utente.
Due o più istruzioni in parallelo. Rappresenta l'assegnazione di output o variabili interne. In un programma LD, una bobina rappresenta un'azione. Rappresenta il valore o la funzione di una variabile di input o interna. Rappresenta la fine condizionale dell'output di un diagramma. Rappresenta la logica condizionale o non condizionale nel programma LD che controlla l'esecuzione dei diagrammi.

Vedere anche
Linguaggio LD (Ladder Diagram) a pagina 25

Piolo

I rami sono componenti grafici dei programmi Diagramma ladder che rappresentano un gruppo di elementi circuitali che conduce all'attivazione di una bobina. Usare le etichette per identificare i rami all'interno del diagramma. Le etichette, insieme ai salti, controllano l'esecuzione di un diagramma. I commenti sono testo in formato libero che è possibile aggiungere sopra il ramo a scopo di documentazione.
Vedere anche
Aggiunta di un ramo a un programma LD a pagina 30 Aggiunta di un'etichetta a un ramo a pagina 31 Elementi del ladder diagram (LD) a pagina 29 Linguaggio LD (Ladder Diagram) a pagina 25

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

29

Capitolo 3

Elementi del ladder diagram (LD)

Aggiunta di un ramo a un programma LD

I rami sono componenti grafici del programma Diagramma ladder che rappresentano un gruppo di elementi circuitali che conduce all'attivazione di una bobina.

In Connected Components Workbench è possibile aggiungere un ramo a un programma Diagramma ladder da:

· Editor di lingue Diagramma ladder · L'Editor multi-lingue si trova nel menu Strumenti · Casella degli strumenti LD

Per aggiungere un elemento del ramo a un programma Diagramma
ladder:
1. Nell'editor di lingue LD, fare clic con il pulsante destro del mouse su un ramo esistente, quindi:
· Fare clic su Copia, quindi fare clic su Incolla per inserire una copia del ramo nell'editor di lingue.
· Fare clic su Inserisci ramo, quindi:
· Fare clic su Sopra per aggiungere il ramo sopra il ramo selezionato.
· Fare clic su Sotto per aggiungere il ramo sotto il ramo selezionato.

· Selezionare un ramo o un elemento nell'editor di lingue LD e premere:
Premere CTRL+ALT+0 per aggiungere il ramo sopra il ramo selezionato.

30

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Etichette ramo

Capitolo 3

Elementi del ladder diagram (LD)

Premere CTRL+0 per aggiungere il ramo sotto il ramo selezionato.

· Selezionare un ramo o un elemento nell'editor di lingue LD e premere:

Fare clic su Strumenti > Editor multi-lingue > Inserisci ramo sotto per aggiungere il ramo sotto il ramo selezionato. Fare clic su Strumenti > Editor multi-lingue > Inserisci ramo sopra per aggiungere il ramo sopra il ramo selezionato.

1. (facoltativo) Aprire la casella degli strumenti LD per visualizzare l'elemento ramo.

· Per inserire un ramo sotto un ramo esistente, selezionare il ramo nell'editor di lingue LD, quindi fare doppio clic su Ramo nella casella degli strumenti LD.

Se non è selezionato un elemento prima di fare doppio clic su Ramo nella casella degli strumenti LD, il ramo viene inserito sotto l'ultimo ramo nell'editor di lingue LD.

· Selezionare Ramo, quindi trascinare l'elemento nell'editor di lingue LD.

Nell'editor di lingue LD viene mostrato un segno più (+) per visualizzare una destinazione valida. Rilasciare il pulsante del mouse per aggiungere l'elemento.
Suggerimento: Se il Diagramma ladder contiene più di 355 rami, per visualizzare rami aggiuntivi, utilizzare il menu a comparsa invece della barra di scorrimento.

Vedere anche
Aggiunta di un'etichetta a un ramo a pagina 31 Tasti di scelta rapida LD a pagina 59 Elementi del ladder diagram (LD) a pagina 29 Pioli a pagina 29
Le etichette sono aggiunte facoltative di ogni ramo nell'Editor di lingue del Diagramma ladder. Le etichette possono avere un numero illimitato di caratteri e devono iniziare con una lettera o un carattere di sottolineatura, seguiti da lettere, numeri e caratteri di sottolineatura. Le etichette non possono contenere spazi o caratteri speciali (ad esempio +, -, o \).

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

31

Capitolo 3

Elementi del ladder diagram (LD)
Per aggiungere un'etichetta a un ramo nell'editor di lingue LD:
1. Per aggiungere un'etichetta a un ramo, fare clic con il pulsante destro del mouse sul ramo per aprire il menu Editor di lingue LD, quindi selezionare Visualizza Etichetta.
Il ramo viene aggiornato per includere l'etichetta e il menu Editor di lingue LD mostra un segno di spunta accanto a Visualizza Etichetta.

Commenti piolo
32

2. Selezionare l'Etichetta e digitare una descrizione. 3. (facoltativo) Per rimuovere l'etichetta, fare clic su Visualizza
Etichetta nel menu Editor di lingue LD.
Vedere anche
Pioli a pagina 29
I commenti sono facoltativi per ogni ramo nell'Editor di lingue Diagramma ladder. Per impostazione predefinita, un commento è incluso quando si aggiunge un elemento ramo nell'editor di lingue LD. I commenti sono:
· Inseriti nello spazio sopra il ramo. · Salvati in formato RTF. · Archiviati nel controllore.
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 3

Elementi del ladder diagram (LD)

Per aggiungere o rimuovere un commento per un ramo nell'editor di

lingue LD:

1. Per rimuovere un commento, fare clic con il pulsante destro del mouse sul ramo per aprire il menu dell'editor di lingue LD.

Diramazione

2. Nel menu editor di lingue LD, fare clic su Visualizza commento. Il commento viene rimosso dal ramo e il segno di spunta accanto a Visualizza commento nell'editor di lingue LD viene rimosso dal menu.
3. (facoltativo) Per aggiungere un commento a un ramo, fare clic su Visualizza commento nel menu Editor di lingue LD.
Vedere anche
Aggiunta di un ramo a un programma LD a pagina 30 Aggiunta di un'etichetta a un ramo a pagina 31 Elementi del ladder diagram (LD) a pagina 29 Linguaggio LD (Ladder Diagram) a pagina 25 Pioli a pagina 29

Le diramazioni creano routine alternativi per le connessioni. È possibile aggiungere rami paralleli agli elementi su un ramo in un editor di lingue Diagramma ladder.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

33

Capitolo 3

Elementi del ladder diagram (LD)
Esempio di diramazione

Vedere anche
Aggiunta di un ramo a un programma LD a pagina 34 Elementi del ladder diagram (LD) a pagina 29 Tasti di scelta rapida LD a pagina 59 Linguaggio LD (Ladder Diagram) a pagina 25

Aggiunta di un ramo a un programma LD

I rami sono componenti grafici di programmazioni in Ladder Diagram (LD) che consentono di creare un routing alternativo per le connessioni e potrebbero includere rami paralleli.
In Connected Components Workbench è possibile aggiungere un ramo a una programmazione in Ladder Diagram (LD) da:
· Editor di lingue Diagramma ladder · L'Editor multi-lingue si trova nel menu Strumenti · Casella degli strumenti LD · Barra degli strumenti Istruzione (LD)

Per aggiungere un ramo a una programmazione in Ladder Diagram:
1. Nell'editor di lingue LD, verificare che la programmazione in LD disponga di un ramo definito. Quindi, effettuare una delle seguenti operazioni:
· Fare clic con il pulsante destro del mouse su un ramo o su un elemento nell'editor di lingue LD, selezionare Inserisci Elementi Ladder, quindi fare clic su Ramo.

34

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 3

Elementi del ladder diagram (LD)

Se viene visualizzato il selettore di variabili, selezionare una variabile o fare clic su OK senza selezionare una variabile per aggiungere l'elemento Ramo.

· Selezionare un ramo o un elemento nell'editor di lingue LD e premere:
CTRL+ALT+1 per aggiungere il ramo a sinistra dell'elemento o del ramo selezionato. CTRL+ALT+1 per aggiungere il ramo a sinistra dell'elemento selezionato.
· Selezionare un ramo o un elemento nell'editor di lingue LD, quindi:
Fare clic su Strumenti > Editor multi-lingue > Inserisci prima ramo per aggiungere il ramo a sinistra dell'elemento selezionato. Fare clic su Strumenti > Editor multi-lingue > Inserisci dopo ramo per aggiungere il ramo a destra dell'elemento selezionato.
· Aprire la casella degli strumenti LD per visualizzare l'elemento ramo, quindi:
Fare doppio clic sull'elemento ramo per aggiungerlo all'editor di lingue LD. Trascinare l'elemento ramo nell'editor di lingue LD e posizionarlo sul ramo.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

35

Capitolo 3

Elementi del ladder diagram (LD)
Nell'editor di lingue LD viene mostrato un segno più (+) per visualizzare una destinazione valida. Rilasciare il pulsante del mouse per aggiungere l'elemento.
1. (facoltativo) Per inserire un ramo parallelo:
a. Nell'editor di lingue LD, fare clic con il pulsante destro del mouse sul ramo per aprire il menu dell'editor di lingue LD.

b. Dal menu editor di lingue LD, selezionare Inserisci ramo, quindi fare clic su:
Sopra per inserire un ramo sopra il ramo selezionato. Sotto per inserire un ramo sotto il ramo selezionato.

2. (facoltativo) Per spostare un elemento ramo in un'altra posizione in una programmazione in LD, selezionare l'elemento e trascinarlo in una nuova posizione nella programmazione in LD.
Nell'editor di lingue LD viene mostrato un segno più (+) per visualizzare una destinazione valida. Rilasciare il pulsante del

36

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 3

Elementi del ladder diagram (LD)

mouse per inserire l'elemento nella posizione di destinazione.

Vedere anche
Diramazione a pagina 33 Elementi del ladder diagram (LD) a pagina 29 Tasti di scelta rapida LD a pagina 59 Linguaggio LD (Ladder Diagram) a pagina 25

Blocco istruzione (LD)

Un elemento Blocco istruzione Diagramma ladder è un elemento funzionale conforme a IEC 61131-3 in un programma LD che può essere un blocco funzione, una funzione, un blocco funzione definito dall'utente, una funzione definita dall'utente o un operatore.
Vedere anche
Linguaggio LD (Ladder Diagram) a pagina 25 Elementi del ladder diagram (LD) a pagina 29

Bobina

Le bobine sono componenti grafici di Programmazione in Ladder Diagram, che rappresentano l'assegnazione di un'uscita o di una variabile interna. Nelle programmazioni LD, una bobina rappresenta un'azione. Una bobina deve essere collegata a sinistra a un simbolo booleano come un contatto o all'output booleano di un blocco di istruzioni. Le bobine possono essere aggiunte solo a un ramo definito nell'editor di lingue LD. La definizione di bobina può essere modificata dopo che la bobina è stata aggiunta al ramo.
L'esempio seguente mostra i tipi di elemento della bobina disponibili per la Programmazione in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

37

Capitolo 3

Elementi del ladder diagram (LD)
Esempio: Bobine

Vedere anche
Aggiunta di elementi a bobina a pagina 38 Bobina diretta a pagina 41 Bobina invertita a pagina 41 Bobina impostata a pagina 44 Bobina ripristinata a pagina 45

Aggiunta di elementi a bobina

Le bobine sono componenti grafici di programmi Diagramma ladder, che rappresentano un'azione eseguita, un'uscita o una variabile interna.
In Connected Components Workbench è possibile aggiungere una bobina a un programma Diagramma ladder da:
· Editor di lingue Diagramma ladder · L'Editor multi-lingue si trova nel menu Strumenti · Casella degli strumenti LD · Barra degli strumenti Istruzione (LD)

Per aggiungere un elemento a bobina a un programma Diagramma
ladder:
1. Nell'editor di lingue LD, verificare che il programma LD disponga di un ramo definito per la bobina. Quindi, effettuare una delle seguenti operazioni:

38

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 3

Elementi del ladder diagram (LD)

· Fare clic con il pulsante destro del mouse su un ramo o un elemento nell'editor di lingue LD, selezionare Inserisci Elementi ladder, quindi fare clic su Bobina diretta.

Se viene visualizzato il selettore di variabili, selezionare una variabile o fare clic su OK senza selezionare una variabile per aggiungere l'elemento Bobina diretta.

· Selezionare un ramo o un elemento nell'editor di lingue LD, quindi premere CTRL+4 per aggiungere la Bobina diretta a destra del ramo.
· Selezionare un ramo o un elemento nell'editor di lingue LD, quindi fare clic su Strumenti > Editor multi-lingue > Inserisci bobina per aggiungere la bobina a destra del ramo.
· Aprire la casella degli strumenti LD per visualizzare gli elementi bobina (Bobina diretta, Bobina inversa, Imposta bobina, Reimposta bobina, Bobina fronte di salita dell'impulso, Bobina fronte di discesa dell'impulso), quindi:
Fare doppio clic sull'elemento a bobina per aggiungerlo all'editor di lingue LD. Trascinare l'elemento a bobina nell'editor di lingue LD e posizionarlo sul ramo. Nell'editor di lingue LD viene mostrato un segno più (+) per visualizzare una destinazione valida. Rilasciare il pulsante del mouse per aggiungere l'elemento.
1. (Facoltativo) Per inserire una bobina parallela:
a. Nell'editor di lingue LD, verificare che il programma LD abbia una diramazione definita, quindi fare clic con il pulsante destro del

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

39

Capitolo 3

Elementi del ladder diagram (LD)

mouse sul primo livello della diramazione, per aprire il menu Editor di lingue LD.

b. Nel menu Editor di lingue LD, selezionare Inserisci elementi Ladder, quindi fare clic su Bobina diretta. L'elemento viene inserito nel livello superiore della diramazione.

c. Fare clic con il pulsante destro del mouse sul livello inferiore della diramazione, per aprire il menu Editor di lingue LD.
d. Nel menu Editor di lingue LD, selezionare Inserisci elementi Ladder, quindi fare clic su Bobina diretta. L'elemento viene inserito nel livello inferiore della diramazione.

2. (Facoltativo) Per modificare il tipo di bobina, nell'editor di lingue selezionare la bobina, quindi premere la barra spaziatrice fino a quando il tipo di bobina viene visualizzato nell'editor di lingue. Ogni volta che si preme la barra spaziatrice, il tipo di bobina cambia da diretto, a inverso, a impostato, a ripristinato, a fronte salita dell'impulso, a fronte discesa dell'impulso.
Vedere anche
Diramazione a pagina 33 Bobine a pagina 37 Elementi del ladder diagram (LD) a pagina 29 Tasti di scelta rapida LD a pagina 59

40

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Bobina diretta

Capitolo 3

Elementi del ladder diagram (LD)

Le bobine sono componenti grafici di Programmazione in Ladder Diagram, che rappresentano l'assegnazione di un'uscita o di una variabile interna.

La bobina diretta supporta l'output booleano di uno stato booleano della linea di collegamento.

La variabile associata viene assegnata con lo stato booleano della connessione di sinistra. Lo stato della connessione di sinistra si propaga alla connessione di destra. La connessione di destra deve essere collegata alla rotaia di alimentazione verticale di destra (a meno che non siano presenti bobine parallele, caso in cui solo la bobina superiore deve essere collegata alla rotaia di alimentazione verticale di destra).
La variabile Booleana associata deve essere un'uscita oppure deve essere definita dall'utente.
Esempio di bobina diretta

Bobina invertita

Vedere anche
Aggiunta di elementi a bobina a pagina 38 Bobine a pagina 37 Bobina invertita a pagina 41
Le bobine sono componenti grafici di Programmazione in Ladder Diagram, che rappresentano l'assegnazione di un'uscita o di una variabile interna.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

41

Capitolo 3

Elementi del ladder diagram (LD)
L'elemento a bobina invertito supporta un output booleano in base alla negazione booleana dello stato di una linea di collegamento.

La variabile associata viene assegnata con la negazione booleana dello stato della connessione di sinistra. Lo stato della connessione di sinistra si propaga alla connessione di destra. La connessione di destra deve essere collegata alla rotaia di alimentazione verticale di destra (a meno che non siano presenti bobine parallele, caso in cui solo la bobina superiore deve essere collegata alla rotaia di alimentazione verticale di destra).
La variabile Booleana associata deve essere un'uscita oppure deve essere definita dall'utente.
Esempio di Bobina inversa

Vedere anche
Aggiunta di elementi a bobina a pagina 38 Bobine a pagina 37 Bobina diretta a pagina 41 Elementi del ladder diagram (LD) a pagina 29

Bobina fronte di discesa impulso

Le bobine sono componenti grafici di Programmazione in Ladder Diagram, che rappresentano l'assegnazione di un'uscita o di una variabile interna.

42

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 3

Elementi del ladder diagram (LD)

Le bobine fronte di discesa impulso (o negative) supportano l'uscita dello stato booleano di una linea di connessione.

La variabile associata viene impostata su TRUE se lo stato booleano della connessione di sinistra scende da TRUE a FALSE. La variabile di uscita viene reimpostata a FALSE in tutti gli altri casi. Lo stato della connessione di sinistra si propaga alla connessione di destra. La connessione di destra deve essere collegata alla rotaia di alimentazione verticale di destra (a meno che non siano presenti bobine parallele, caso in cui solo la bobina superiore deve essere collegata alla rotaia di alimentazione verticale di destra).
La variabile Booleana associata deve essere un'uscita oppure deve essere definita dall'utente.
Esempio di Bobina fronte di discesa impulso

Vedere anche
Aggiunta di elementi a bobina a pagina 38 Bobine a pagina 37 Bobina fronte di salita impulso a pagina 43

Bobina fronte di salita impulso

Le bobine sono componenti grafici di Programmazione in Ladder Diagram, che rappresentano l'assegnazione di un'uscita o di una variabile interna.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

43

Capitolo 3

Elementi del ladder diagram (LD)
Le bobine fronte di salita impulso (o positive) supportano l'uscita dello stato booleano di una linea di connessione.

La variabile associata viene impostata su TRUE se lo stato booleano della connessione di sinistra sale da FALSE a TRUE. La variabile di uscita viene reimpostata a FALSE in tutti gli altri casi. Lo stato della connessione di sinistra si propaga alla connessione di destra. La connessione di destra deve essere collegata alla rotaia di alimentazione verticale di destra (a meno che non siano presenti bobine parallele, caso in cui solo la bobina superiore deve essere collegata alla rotaia di alimentazione verticale di destra).
La variabile booleana associata deve essere di uscita oppure deve essere definita dall'utente.
Esempio di Bobina fronte di salita impulso

Bobina impostata

Vedere anche
Aggiunta di elementi a bobina a pagina 38 Bobine a pagina 37 Elementi del ladder diagram (LD) a pagina 29 Bobina fronte di discesa impulso a pagina 42
Le bobine sono componenti grafici di Programmazione in Ladder Diagram, che rappresentano l'assegnazione di un'uscita o di una variabile interna. Nelle programmazioni LD, una bobina rappresenta un'azione. Le bobine impostate supportano l'uscita dello stato booleano di una linea di connessione.

44

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 3

Elementi del ladder diagram (LD)

La variabile associata viene impostata su TRUE quando lo stato booleano della connessione di sinistra diviene TRUE. La variabile di uscita mantiene tale valore fino a che viene generato un ordine inverso da una Bobina ripristinata. Lo stato della connessione di sinistra si propaga alla connessione di destra. La connessione di destra deve essere collegata alla rotaia di alimentazione verticale di destra (a meno che non siano presenti bobine parallele, caso in cui solo la bobina superiore deve essere collegata alla rotaia di alimentazione verticale di destra).
La variabile Booleana associata deve essere un'uscita oppure deve essere definita dall'utente.
Esempio di Imposta bobina

Vedere anche
Aggiunta di elementi a bobina a pagina 38 Bobine a pagina 37 Bobina ripristinata a pagina 45

Bobina ripristinata

Le bobine sono componenti grafici di Programmazione in Ladder Diagram, che rappresentano l'assegnazione di un'uscita o di una variabile interna.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

45

Capitolo 3

Elementi del ladder diagram (LD)
Le bobine ripristinate supportano l'uscita dello stato booleano di una linea di connessione.

La variabile associata viene impostata su FALSE quando lo stato booleano della connessione di sinistra diviene TRUE. La variabile di uscita mantiene tale valore fino a che viene generato un ordine inverso da una Bobina impostata. Lo stato della connessione di sinistra si propaga alla connessione di destra. La connessione di destra deve essere collegata alla rotaia di alimentazione verticale di destra (a meno che non siano presenti bobine parallele, caso in cui solo la bobina superiore deve essere collegata alla rotaia di alimentazione verticale di destra).
La variabile booleana associata deve essere di uscita oppure deve essere definita dall'utente.
Esempio di Reimposta bobina

Vedere anche
Bobine a pagina 37 Aggiunta di elementi a bobina a pagina 38 Bobina impostata a pagina 44

46

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Contatto

Capitolo 3

Elementi del ladder diagram (LD)

I contatti sono componenti grafici di Programmazioni in Ladder Diagram. A seconda del tipo, un contatto rappresenta il valore o la funzione di un ingresso o di una variabile interna. I contatti possono essere aggiunti solo a un piolo definito nell'editor di lingue LD. Dopo aver aggiunto un contatto, è possibile modificarne la definizione.

L'esempio seguente mostra i tipi di elemento di contatto disponibili per la Programmazione in Ladder Diagram.

Esempio: Contatti

Vedere anche
Aggiunta di elementi contatto a pagina 47 Contatto diretto a pagina 50 Contatto invertito a pagina 51 Contatto fronte di salita impulso a pagina 51 Contatto fronte di discesa impulso a pagina 52

Aggiunta di un contatto a un

I contatti sono componenti grafici di una Programmazione in Ladder Diagram. A seconda del tipo, un contatto rappresenta il valore o la

programma LD

funzione di un ingresso o di una variabile interna. I contatti possono

essere aggiunti solo a un piolo definito nell'editor di lingue LD.

In Connected Components Workbench è possibile aggiungere un contatto a un programma Diagramma ladder da:

· Editor di lingue Diagramma ladder · L'Editor multi-lingue si trova nel menu Strumenti · Casella degli strumenti LD · Barra degli strumenti Istruzione (LD)

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

47

Capitolo 3

Elementi del ladder diagram (LD)
Per aggiungere un elemento di contatto a un programma Diagramma
ladder:
1. Nell'editor di lingue LD, verificare che il programma LD disponga di un ramo definito per il contatto. Quindi, effettuare una delle seguenti operazioni:
· Fare clic con il pulsante destro del mouse su un ramo o un elemento nell'editor di lingue LD, selezionare Inserisci Elementi ladder, quindi fare clic su Contatto Diretto.
Se viene visualizzato il selettore di variabili, selezionare una variabile o fare clic su OK senza selezionare una variabile per aggiungere l'elemento Contatto diretto.

· Selezionare un ramo o un elemento nell'editor di lingue LD e premere:
CTRL+ALT+3 per aggiungere l'elemento Contatto diretto a sinistra dell'elemento o del ramo selezionato. CTRL+3 per aggiungere l'elemento Contatto diretto a destra dell'elemento o del ramo selezionato.
· Selezionare un ramo o un elemento nell'editor di lingue LD, quindi:
Fare clic su Strumenti > Editor multi-lingue > Inserisci prima contatto per aggiungere il contatto a sinistra dell'elemento o del ramo selezionato. Fare clic su Strumenti > Editor multi-lingue > Inserisci dopo contatto per aggiungere il contatto a destra dell'elemento o del ramo selezionato.

48

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 3

Elementi del ladder diagram (LD)

· Aprire la casella degli strumenti LD per visualizzare gli elementi di contatto (Contatto diretto, Contatto inverso, Contatto sul fronte di salita dell'impulso, Contatto sul fronte di discesa dell'impulso ), quindi:

Fare doppio clic sull'elemento di contatto per aggiungerlo all'editor di lingue LD. Trascinare l'elemento di contatto nell'editor di lingue LD e posizionarlo sul ramo. Nell'editor di lingue LD viene mostrato un segno più (+) per visualizzare una destinazione valida. Rilasciare il pulsante del mouse per aggiungere l'elemento.

1. (Facoltativo) Per inserire un contatto parallelo:

a. Nell'editor di lingue LD, verificare che il programma LD abbia una diramazione definita, quindi fare clic con il pulsante destro del mouse sul primo livello della diramazione, per aprire il menu Editor di lingue LD.

b. Nel menu Editor di lingue LD, selezionare Inserisci elementi Ladder, quindi fare clic su Contatto diretto. L'elemento viene inserito nel livello superiore della diramazione.

c. Fare clic con il pulsante destro del mouse sul livello inferiore della diramazione, per aprire il menu Editor di lingue LD.
d. Nel menu Editor di lingue LD, selezionare Inserisci elementi Ladder, quindi fare clic su Contatto diretto. L'elemento viene inserito nel livello inferiore della diramazione.

2. (Facoltativo) Per modificare il tipo di contatto, nell'editor di lingue selezionare il contatto, quindi premere la Barra spaziatrice fino a quando il tipo di contatto viene visualizzato nell'editor di lingue.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

49

Capitolo 3

Elementi del ladder diagram (LD)

Ogni volta che si preme la barra, il tipo di contatto cambia da diretto a inverso, a fronte di salita dell'impulso, a fronte di discesa dell'impulso.

Vedere anche
Diramazione a pagina 33 Contatti a pagina 47 Elementi del ladder diagram (LD) a pagina 29 Tasti di scelta rapida LD a pagina 59

Contatto diretto

I contatti sono componenti grafici di Programmazioni in Ladder Diagram.
I contatti diretti supportano le operazioni booleane tra uno stato della linea di connessione e una variabile booleana.

Lo stato della linea di collegamento a destra del contatto è l'AND logico tra lo stato della linea di collegamento sinistra e il valore della variabile associata al contatto.
Esempio di contatto diretto

Vedere anche
Aggiunta di un elemento contatto a pagina 47 Contatti a pagina 47 Contatto invertito a pagina 51

50

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Contatto invertito

Capitolo 3

Elementi del ladder diagram (LD)

I contatti sono componenti grafici di Programmazioni in Ladder Diagram.

I contatti invertiti consentono un'operazione booleana tra lo stato di una linea di connessione e la negazione booleana di una variabile booleana.

Lo stato della linea di collegamento a destra del contatto è l'AND logico tra lo stato della linea di collegamento sinistra e la negazione booleana del valore della variabile associata al contatto.
Esempio di Contatto inverso

Vedere anche
Aggiunta di elementi contatto a pagina 47 Contatti a pagina 47 Contatto diretto a pagina 50

Contatto fronte di salita impulso

I contatti sono componenti grafici di Programmazioni in Ladder Diagram.
I contatti fronte di salita impulso (o positivi) consentono un'operazione booleana tra lo stato di una linea di connessione e il fronte di salita di una variabile booleana.

Lo stato della linea di connessione a destra del contatto è TRUE quando lo stato della linea di connessione a sinistra è TRUE e lo stato

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

51

Capitolo 3

Elementi del ladder diagram (LD)
della variabile associata sale da FALSE a TRUE. Lo stato viene reimpostato a FALSE in tutti gli altri casi.

Esempio di Contatto sul fronte di salita dell'impulso

Raccomandazione: limitare l'uso di variabili di uscia con contatti fronte
Si consiglia di non utilizzare output o variabili con un contatto sul fronte di salita dell'impulso (positivo) o un contatto sul fronte di discesa dell'impulso (negativo). Tali contatti sono destinati agli impulsi fisici in un ladder diagram. Per individuare il fronte di una variabile o di un output, è consigliato l'utilizzo del blocco funzione R_TRIG/F_TRIG, che è supportato e funziona in qualsiasi linguaggio e in qualsiasi punto del programma.
Vedere anche
Aggiunta di elementi contatto a pagina 47 Contatti a pagina 47 Contatto fronte di discesa impulso a pagina 52

Contatto fronte di discesa impulso

I contatti sono componenti grafici di Programmazioni in Ladder Diagram.
I contatti fronte di discesa impulso (o negativi) consentono un'operazione booleana tra lo stato di una linea di connessione e il fronte di discesa di una variabile booleana.

Lo stato della linea di connessione a destra del contatto è TRUE quando lo stato della linea di connessione a sinistra è TRUE e lo stato della variabile associata cade da TRUE a FALSE. Lo stato viene reimpostato a FALSE in tutti gli altri casi.

52

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 3

Elementi del ladder diagram (LD)

Esempio di Contatto sul fronte di discesa dell'impulso

Ritorno

Raccomandazione: limitare l'uso di variabili di uscia con contatti fronte
Si consiglia di non utilizzare output o variabili con un contatto sul fronte di salita dell'impulso (positivo) o un contatto sul fronte di discesa dell'impulso (negativo). Tali contatti sono destinati agli impulsi fisici in un ladder diagram. Per individuare il fronte di una variabile o di un output, è consigliato l'utilizzo del blocco funzione R_TRIG/F_TRIG, che è supportato e funziona in qualsiasi linguaggio e in qualsiasi punto del programma.
Vedere anche
Aggiunta di elementi contatto a pagina 47 Contatto a pagina 47 Contatto fronte di salita impulso a pagina 51
Vengono restituite uscite che rappresentano una fine condizionale di un programma Diagramma ladder. Non è possibile posizionare connessioni a destra di un elemento ritorno. Se la linea di collegamento di sinistra ha lo stato Booleana TRUE, il diagramma termina senza che vengano eseguite le equazioni nelle righe successive del diagramma stesso. Se il diagramma LD ha una funzione, il suo nome viene associato a una bobina di uscita per impostare il valore di ritorno (restituito al programma che effettua la chiamata).

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

53

Capitolo 3

Elementi del ladder diagram (LD)
Esempio di valori restituiti

Salto
54

Per inserire un ritorno in programma Diagramma ladder:
Effettuare una delle seguenti operazioni: · Fare clic con il pulsante destro del mouse su un ramo o su un elemento nell'editor di lingue LD, selezionare Inserisci gli elementi Ladder, quindi fare clic su Restituisci. · Selezionare un ramo o un elemento nell'editor di lingue LD, quindi premere CTRL+6. · Selezionare un ramo o un elemento nell'editor di lingue LD, quindi fare clic su Strumenti > Editor multi-lingue > Inserisci ritorno. · Aprire la casella degli strumenti LD per visualizzare l'elemento di ritorno, quindi: Fare doppio clic sull'elemento di ritorno per aggiungerlo all'editor di lingue LD. Trascinare l'elemento di ritorno nell'editor di lingue LD e posizionarlo sul ramo. Nell'editor di lingue LD viene mostrato un segno più (+) per visualizzare una destinazione valida. Rilasciare il pulsante del mouse per aggiungere l'elemento.
Vedere anche
Elementi del ladder diagram (LD) a pagina 29 Linguaggio LD (Ladder Diagram) a pagina 25
I salti sono elementi condizionali o non condizionali che controllano l'esecuzione di un programma Diagramma ladder.
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Notazione di salto

Capitolo 3

Elementi del ladder diagram (LD)

La seguente notazione indica un salto a un'etichetta: >>LABEL: salta a un'etichetta con nome "LABEL"

Esempio di salto

Per inserire un salto:
Effettuare una delle seguenti operazioni:
· Fare clic con il pulsante destro del mouse su un ramo o su un elemento nell'editor di lingue LD, selezionare Inserisci gli elementi ladder, quindi fare clic su Salta.
· Selezionare un ramo o un elemento nell'editor di lingue LD, quindi premere CTRL+5.
· Selezionare un ramo o un elemento nell'editor di lingue LD, quindi fare clic su Strumenti > Editor multi-lingue > Inserisci salto.
· Aprire la casella degli strumenti LD per visualizzare l'elemento di salto, quindi:
Fare doppio clic sull'elemento di salto per aggiungerlo all'editor di lingue LD. Trascinare l'elemento di salto nell'editor di lingue LD e posizionarlo sul ramo. Nell'editor di lingue LD viene mostrato un segno più (+) per visualizzare una destinazione valida. Rilasciare il pulsante del mouse per aggiungere l'elemento.

Blocchi di istruzione nei programmi LD

Vedere anche
Elementi del ladder diagram (LD) a pagina 29
Linguaggio LD (Ladder Diagram) a pagina 25
Ritorni a pagina 53
Il set di istruzioni Connected Components Workbench include i blocchi di istruzioni IEC 61131-3 conformi. I blocchi di istruzioni comprendono i blocchi funzione, le funzioni e gli operatori. L'utente può collegare input

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

55

Capitolo 3

Elementi del ladder diagram (LD)
e output dei blocchi di istruzioni a variabili, contatti, bobine o altri input e output di blocchi di istruzione.

Convenzioni per il blocco di istruzioni
Le specifiche IEC61131-3 relative ai linguaggi di programmazione affrontano numerosi aspetti legati ai controllori programmabili, tra cui l'esecuzione del sistema operativo, le definizioni dei dati, i linguaggi di programmazione e i set di istruzioni. Di conseguenza, la specifica IEC61131-3 fornisce un set di funzionalità di base che è possibile estendere secondo le applicazioni dell'utente finale.

Nomi blocco di istruzioni
Funzioni e blocchi funzione sono rappresentati da una casella che visualizza il nome dell'istruzione e i nomi abbreviati dei parametri. Per i blocchi funzione, il nome dell'istanza viene visualizzato sopra il nome del blocco funzione.

Parametri di ritorno del blocco di istruzioni
· Il parametro di ritorno di una funzione ha lo stesso nome della funzione. Il parametro di ritorno è l'unico output.
· I parametri di ritorno di un blocco funzione possono avere qualsiasi nome. Parametri di ritorno multipli possono fornire più output.
· È possibile definire i parametri dei programmi per diversi dispositivi esplorando le schede dei singoli dispositivi visualizzate nella schermata Parametro.

Vedere anche
Elementi del ladder diagram (LD) a pagina 29

Utilizzo nell'editor di lingue LD

Quando si aggiungono elementi a un ramo nella Programmazione in Ladder Diagram, questi vengono aggiunti secondo i seguenti criteri.
· Il primo elemento di un piolo viene inserito nella posizione selezionata nel ladder diagram.
· I successivi elementi vengono inseriti a destra dell'elemento selezionato nel piolo.
· Impossibile inserire un elemento a destra di un ritorno bobina o salto.
Diversi metodi per aggiungere un elemento alla Programmazione in Ladder Diagram:
· Editor ladder LD

56

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 3

Elementi del ladder diagram (LD)

· Aggiungere elementi, eliminare elementi, copiare e incollare elementi.
· Utilizzare i tasti di scelta rapida LD per aggiungere elementi.

· Editor di testo LD

· Aggiunge, modifica ed elimina gli elementi. · Copiare e incollare elementi da/verso RSLogix 500 e
<RSLX5000>.

· L'Editor multi-lingue si trova nel menu Strumenti.

· Aggiungere elementi. · Esportare un'immagine del programma LD. · Attivare o disattivare l'apertura automatica del Selettore di
variabili e del Selettore blocco istruzione.

· Casella degli strumenti LD

· Aggiungere elementi.

· Barra degli strumenti Istruzione

· Aggiungere elementi.

È possibile sostituire una variabile assegnata direttamente dall'editor di lingue o dal selettore di variabili.

Per modificare una variabile dall'editor di lingue:
1. Nell'editor di lingue, fare clic sul nome della variabile per visualizzare un elenco a discesa delle variabili globali e locali.
2. Effettuare una delle seguenti operazioni:
· Immettere un nome della variabile nella casella di testo: · Selezionare un nome variabile diverso dall'elenco a discesa.

Per modificare una variabile dal selettore di variabili:
1. Nell'editor di lingue, fare doppio clic sulla variabile per visualizzare il selettore di variabili.
2. Fare clic sul nome della variabile, quindi selezionare una variabile diversa dall'elenco a discesa delle variabili globali e locali.
3. Fare clic su una variabile esistente e immettere valori costanti nella casella di testo visualizzata.

Esempi di programma ladder diagram (LD)

Vedere anche
Linguaggio LD (Ladder Diagram) a pagina 25 Esempi di programma ladder diagram (LD) a pagina 57 Tasti di scelta rapida LD a pagina 59 I seguenti esempi sono Programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

57

Capitolo 3

Elementi del ladder diagram (LD)
Esempio: blocco funzione R_TRIG
Il programma di esempio seguente mostra l'uso consigliato di un blocco funzione R_TRIG utilizzato per rilevare un bordo durante la connessione con il controllore.

Esempio: confronto dei valori reali mediante sottrazione (-) ABS e
minore di (<)
Il tipo di dati Reale non è consigliabile per confrontare l'uguaglianza dei valori a causa delle differenze nell'arrotondamento dei numeri. Due valori di uscita potrebbero sembrare uguali su un display Connected Components Workbench, ma comunque valutati come false.
Ad esempio, 23,500001 e 23,499999 saranno visualizzati entrambi come 23,5 in sul display di ingresso delle variabili, tuttavia nel controllore non saranno uguali.
Per verificare se due dati di tipo reale sono uguali, è possibile usare l'istruzione Sottrazione per ottenere la differenza tra i valori e quindi determinare se la differenza è inferiore a un valore con precisione

58

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 3

Elementi del ladder diagram (LD)

stabilita. Vedere l'esempio seguente di programma LD per il confronto tra i valori di due dati di tipo reale.

Vedere anche
Linguaggio LD (Ladder Diagram) a pagina 25 Ambiente di sviluppo del programma LD a pagina 26 Utilizzo degli elementi nell'editor di lingue LD a pagina 56

Tasti di scelta rapida LD

I seguenti tasti di scelta rapida sono disponibili per l'utilizzo con il linguaggio Diagramma ladder:

Tasto di scelta rapida

Descrizione

Ctrl+0

Inserisce un piolo dopo un piolo selezionato.1

Ctrl+Alt+0 Ctrl+1
Ctrl+Alt+1 Ctrl+2

Inserisce un piolo prima di un piolo selezionato.1 Inserisce una diramazione dopo un elemento selezionato.
Inserisce una diramazione prima di un elemento selezionato. Inserisce un blocco di istruzioni dopo un elemento selezionato.2

Ctrl+Alt+2

Inserisce un blocco di istruzioni prima di un elemento selezionato.2

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

59

Capitolo 3 60

Elementi del ladder diagram (LD) Tasto di scelta rapida

Descrizione

Ctrl+3 Ctrl+Alt+3 Ctrl+4 Ctrl+5

Inserisce un contatto dopo un elemento selezionato.2 Inserisce un contatto prima di un elemento selezionato.2 Inserisce una bobina dopo un elemento selezionato. Inserisce un salto dopo un elemento selezionato.

Ctrl+Alt+5 Ctrl+6

Inserisce un salto dopo un elemento selezionato. Inserisce un ritorno dopo un elemento selezionato.

Ctrl+8 Ctrl+Alt+8 Elimina Invio
Barra spaziatrice
Maiusc+Invio Ctrl+Invio

Inserisce una diramazione sopra la diramazione selezionata. Inserisce una diramazione sotto la diramazione selezionata. Rimuove un piolo o un elemento selezionato. Se è selezionato un ramo, premendo il tasto INVIO si seleziona il primo elemento del ramo. Se non sono presenti elementi all'interno del ramo, non viene eseguita alcuna operazione. Se è selezionato un contatto o una bobina, premere la barra spaziatrice per modificare il tipo di contatto o bobina. Inserisce un'interruzione di riga. Apre una riga sopra la riga in uso.

Ctrl+Maiusc+Invio
Ctrl+Maiusc+L Ctrl+Canc

Apre una riga sotto la riga corrente.
Rimuove la riga corrente. Rimuove la parola successiva nella riga in uso.

Backspace Ctrl+Backspace Ctrl+C Ctrl+Ins Ctrl+V Maiusc+Ins Ctrl+Z Ctrl+Y Ctrl+Maiusc+Z Ctrl+Sinistra Ctrl+Destra Home
Fine
Ctrl+Home
Ctrl+Fine
Pagina su Pagina giù

Rimuove il carattere a sinistra.
Rimuove la parola precedente sulla riga in uso.
Copia il testo selezionato negli appunti. Copia il testo selezionato negli appunti. Incolla nel punto di inserimento il testo salvato negli appunti. Incolla nel punto di inserimento il testo salvato negli appunti.
Annulla il comando precedente.
Ripete il comando precedente. Ripete il comando precedente. Passa all'istruzione o parola precedente.
Passa all'istruzione o parola successiva.
Passa al primo elemento del ramo selezionato; se non sono presenti elementi all'interno del ramo, non viene eseguita alcuna operazione. Passa all'ultimo elemento del ramo selezionato; se non sono presenti elementi all'interno del ramo, non viene eseguita alcuna operazione. Passa al primo elemento del primo ramo; se non sono presenti elementi all'interno del ramo viene selezionato il primo ramo. Passa all'ultimo elemento dell'ultimo ramo, se non sono presenti elementi all'interno del ramo viene selezionato l'ultimo ramo.
Passa in alto nel codice visibile. Passa in basso nel codice visibile.

Ctrl+J

Passa alla parentesi corrispondente.

Ctrl+Giù Ctrl+Su Maiusc+Giù Maiusc+clic con il pulsante sinistro Maiusc+Su Maiusc+Sinistra Maiusc+Destra Ctrl+Maiusc+Sinistra

Scorre verso il basso. Scorre verso l'alto. Seleziona verso il basso. Seleziona più rami. Fare clic su ogni ramo singolarmente. Seleziona verso l'alto. Seleziona verso sinistra. Seleziona verso destra. Seleziona la parola o istruzione precedente.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Tasto di scelta rapida
Ctrl+Maiusc+Destra Maiusc+Home
Maiusc+Fine Ctrl+Maiusc+Home Ctrl+Maiusc+Fine MAIUSC+Pagina su MAIUSC+Pagina giù CTRL+MAIUSC+Pagina su

Descrizione

Capitolo 3

Elementi del ladder diagram (LD)

Seleziona la parola o istruzione successiva. Seleziona dal punto di inserimento all'inizio della riga.

Seleziona dal punto di inserimento alla fine della riga. Seleziona dal punto di inserimento all'inizio del documento. Seleziona dal punto di inserimento alla fine del documento.
Seleziona dal punto di inserimento all'inizio del codice visibile. Seleziona dal punto di inserimento alla fine del codice visibile. Seleziona dal punto di inserimento all'inizio del codice visibile.

CTRL+MAIUSC+Pagina giù

Seleziona dal punto di inserimento alla fine del codice visibile.

Ctrl+A

Seleziona l'intero documento.

Ctrl+D Ctrl+R
Ctrl+Maiusc+W

Se è selezionato un ramo o un elemento del ramo, dopo aver premuto CTRL+D l'utente può modificare il commento del ramo.
Attivare o disattivare la chiamata automatica del selettore. Per impostazione predefinita, quando si aggiunge un elemento a una Programmazione in Ladder Diagram viene aperta la finestra di dialogo Selettore blocco istruzione o Selettore di variabili. Seleziona la parola successiva.

Ctrl+Maiusc+J Maiusc+Alt+Giù Maiusc+Alt+Su Maiusc+Alt+Sinistra Maiusc+Alt+Destra Ctrl+Maiusc+Alt+Sinistra Ctrl+Maiusc+Alt+Destra

Seleziona fino alla parentesi corrispondente. Seleziona la riga in uso e le successive. Seleziona la riga in uso e le precedenti. Seleziona a sinistra sulla riga corrente. Seleziona a destra della riga corrente. Seleziona le colonne disponibili nelle righe di codice da sinistra a destra. Seleziona le colonne disponibili nelle righe di codice da destra a sinistra.

Esc

Deseleziona il testo selezionato.

Ins

Attiva/disattiva la modalità di inserimento/sovrascrittura.

1 Se non è selezionato alcun piolo, viene aggiunto un piolo alla fine dell'elenco pioli. 2 Se è selezionato un ramo, viene inserito un elemento alla fine del ramo.

Vedere anche
Linguaggio LD (Ladder Diagram) a pagina 25

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

61

Istruzione allarme

Capitolo 4

Blocco funzione LIM_ALRM a pagina 63

Utilizzare l'istruzione allarme per generare avvisi quando viene raggiunto un limite superiore o inferiore configurato.
Descrizione Isteresi di un valore reale per limiti superiore e inferiore.
Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

LIM_ALRM (limite allarme)

LIM_ALRM è un allarme con isteresi di un valore reale per limiti superiore e inferiore.
L'isteresi si applica ai limiti superiore e inferiore. Il delta isteresi usato per il limite superiore o inferiore è pari alla metà del parametro EPS.
L'allarme di processo si verifica quando il controllore riceve ed elabora un errore. Gli allarmi a livello di processo segnalano che il modulo ha superato i limiti alti o bassi configurati per ciascun canale.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN

Tipo di parametro Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Se TRUE, abilita il blocco istruzione.

TRUE: esegue il calcolo corrente LIM_ALRM.

FALSE: il calcolo non avviene.

Applicabile solo alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

63

Capitolo 4 Istruzione allarme

H

Ingresso

REAL

X

Ingresso

REAL

L

Ingresso

REAL

EPS

Ingresso

REAL

QH

Uscita

BOOL

Q

Uscita

BOOL

QL

Uscita

BOOL

ENO

Uscita

BOOL

Valore limite superiore. L'ingresso è qualsiasi valore reale.
Valore limite inferiore. Valore di isteresi (deve essere maggiore di zero). Allarme superiore: TRUE se X supera limite superiore H. Uscita allarme: TRUE se X è oltre i limiti.
Allarme inferiore: TRUE se X minore del limite inferiore L. Abilita uscite. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di diagramma di temporizzazione LIM_ALRM

Esempio di programmazione a blocchi funzionali LIM_ALRM

64

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di diagramma ladder LIM_ALRM

Capitolo 4

Istruzione allarme

Esempio di testo strutturato LIM_ALRM Risultati

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

65

Capitolo 4 Istruzione allarme

Vedere anche
Istruzioni allarme a pagina 63

66

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzioni aritmetiche

Capitolo 5

Usare le istruzioni aritmetiche per eseguire calcoli matematici.

Funzione

Descrizione

ABS a pagina 67
ACOS a pagina 69
ACOS_LREAL a pagina 71 Addition a pagina 72
ASIN a pagina 74 ASIN_LREAL a pagina 76 ATAN a pagina 77 ATAN_LREAL a pagina 79 COS a pagina 81 COS_LREAL a pagina 82 Division a pagina 84 EXPT a pagina 86
LOG a pagina 87 MOD a pagina 89 MOV a pagina 91 Multiplication a pagina 92
Neg a pagina 94 POW a pagina 95 RAND a pagina 97 SIN a pagina 99 SIN_LREAL a pagina 100
SQRT a pagina 102 Subtraction a pagina 103

Restituisce il valore assoluto di un valore Real.
Calcola l'arcocoseno di un valore Real.
Calcola l'arcocoseno di un valore Long Real. Somma due o più valori Integer, Real, Time o String.
Calcola l'arcoseno di un valore Real. Calcola l'arcoseno di un valore Long Real. Calcola l'arcotangente di un valore Real. Calcola l'arcotangente di un valore Long Real. Calcola il coseno di un valore Real. Calcola il coseno di un valore Long Real. Divisione di due valori Integer o Real. Calcola il valore Real di un numero di base elevato alla potenza dell'esponente intero.
Calcola il logaritmo (base 10) di un valore Real. Esegue il calcolo Modulo sui valori Integer. Copia un valore di ingresso in un'uscita. Moltiplica due o più valori Integer o Real.
Converte un valore in un valore negativo. Calcola il valore di un numero Real elevato alla potenza dell'esponente Real. Calcola valori interi casuali da un intervallo definito. Calcola il seno di un valore Real. Calcola il seno di un valore Long Real.
Calcola la radice quadrata di un valore Real. Sottrarre un valore Integer, Real o Time da un altro valore Integer, Real o Time.

TAN a pagina 105 TAN_LREAL a pagina 107 TRUNC a pagina 108

Calcola la tangente di un valore Real. Calcola la tangente di un valore Long Real. Tronca valori Real, lasciando solo l'intero.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

ABS (valore assoluto)

Restituisce il valore assoluto (positivo) di un valore Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

67

Capitolo 5

Istruzioni aritmetiche

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN ENO ABS

Tipo di parametro Ingresso
Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo assoluto corrente.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

REAL

Qualunque valore reale con segno.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

REAL

Valore assoluto (sempre positivo).

Esempio di programmazione a blocchi funzionali ABS

Esempio di Diagramma ladder ABS

68

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 5
Esempio di diagramma di Testo strutturato ABS

Istruzioni aritmetiche

(* Equivalenza ST: *) over := (ABS (delta) > range);
Risultati

ACOS (arcocoseno di origine)

Vedere anche
Istruzioni aritmetiche a pagina 67
Calcola l'arcocoseno di un valore Real. I valori di input e output sono espressi in radianti. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

69

Capitolo 5

Istruzioni aritmetiche

Parametro EN

Tipo di parametro
Ingresso

Tipo di dati BOOL

IN

Ingresso

REAL

ENO

Uscita

BOOL

ACOS

Uscita

REAL

Descrizione
Abilitazione istruzioni. TRUE: esegue il calcolo dell'arcocoseno corrente. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Deve essere compreso nell'intervallo [-1.0 .. +1,0]. Abilita uscita. Applicabile alle programmazioni in Ladder Diagram. Arcoseno del valore di ingresso (nel set [-p1/2..+p1/2])=0 per ingresso non valido.

Esempio di programmazione a blocchi funzionali ACOS

Esempio di Diagramma ladder ACOS

Esempio di Testo strutturato ACOS
(* Equivalenza ST: *) coseno := COS (angolo); risultato := ACOS (coseno); (* il risultato è uguale all'angolo *)

70

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 5

Istruzioni aritmetiche

Vedere anche
Istruzioni aritmetiche a pagina 67

ACOS_LREAL (arcocoseno Long Real)

Calcola l'arcocoseno di un valore Long Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN ENO ACOS_LREAL

Tipo di parametro Ingresso
Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
LREAL BOOL LREAL

Abilitazione istruzioni. TRUE: esegue il calcolo corrente. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Deve essere compreso nell'intervallo [-1.0 .. +1,0].
Abilita uscita. Applicabile alle programmazioni in Ladder Diagram. Arcocoseno del valore in ingresso (in set [0.0 .. PI]) = 0,0 per ingresso non valido.

Esempio di Programmazione a blocchi funzionali ACOS_LREAL

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

71

Capitolo 5

Istruzioni aritmetiche

Esempio di Diagramma ladder ACOS_LREAL

Esempio di Testo strutturato ACOS_LREAL

(* Equivalenza ST: *) coseno := COS_LREAL (angolo); risultato := ACOS_LREAL (coseno); (* il risultato è uguale all'angolo *)
Risultati

Addition
72

Vedere anche
Istruzioni aritmetiche a pagina 67
Somma due o più valori Integer, Real, Time o String. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 5

Istruzioni aritmetiche

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
i2

Tipo di parametro Ingresso Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME STRING SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME STRING

Abilitazione istruzioni. TRUE: esegue il calcolo dell'addizione corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Addendo in tipo di dati Real, Time o String. Tutti gli ingressi devono essere dello stesso tipo di dati.
Addendo in tipo di dati Real, Time o String. Tutti gli ingressi devono essere dello stesso tipo di dati.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

73

Capitolo 5 o1

Istruzioni aritmetiche Uscita

ENO

Uscita

SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME STRING BOOL

Somma dei valori di input in formato Real, Time o String. Input e output devono utilizzare lo stesso tipo di dati.
Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato Addition
(* Equivalenza ST: *)
ao10 := ai101 + ai102; ao5 := (ai51 + ai52) + ai53;

Vedere anche
Istruzioni aritmetiche a pagina 67

ASIN (arcoseno)

Calcola l'arcoseno di un valore Real. I valori di input e output sono espressi in radianti.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN 74

Tipo di parametro Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo dell'arcoseno corrente.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

REAL

Deve essere compreso nell'intervallo [-1.0 .. +1,0].

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 5

Istruzioni aritmetiche

ASIN

Uscita

REAL

Arcoseno del valore di ingresso (nel set [-p1/2..+p1/2])=0 per ingresso non valido.

ENO

Uscita

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali ASIN

Esempio di Diagramma ladder ASIN

Esempio di Testo strutturato ASIN
(* Equivalenza ST: *) sine := SIN (angle); result := ASIN (sine); (* il risultato è uguale all'angolo *)
Risultati

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

75

Capitolo 5

Istruzioni aritmetiche

Vedere anche
Istruzioni aritmetiche a pagina 67

ASIN_LREAL (arcoseno Long Calcola l'arcoseno di un valore Long Real.

Real)

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN ASIN_LREAL ENO

Tipo di parametro Ingresso
Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
LREAL LREAL BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo corrente. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Deve essere compreso nell'intervallo [-1.0 .. +1,0].
Arcoseno del valore in ingresso (in set [-PI/2 .. +PI/2]) = 0,0 per ingresso non valido.
Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali ASIN_LREAL

Esempio di diagramma ladder ASIN_LREAL

76

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 5
Esempio di testo strutturato ASIN_LREAL

Istruzioni aritmetiche

(* Equivalenza ST: *) seno := SIN_LREAL (angolo); risultato := ASIN_LREAL (seno); (* il risultato è uguale all'angolo *)
Risultati

Vedere anche
Istruzioni aritmetiche a pagina 67

ATAN (arcotangente)

Calcola l'arcotangente di un valore Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

77

Capitolo 5 EN

Istruzioni aritmetiche

Ingresso

BOOL

IN

Ingresso

REAL

ATAN

Uscita

REAL

ENO

Uscita

BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo dell'arcotangente corrente. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Qualsiasi valore Real.
Arcotangente del valore di ingresso (nel set [-PI/2 .. +PI/2]) = 0,0 per ingresso non valido.
Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali ATAN

Esempio di Diagramma ladder ATAN

Esempio di Testo strutturato ATAN
(* Equivalenza ST: *) tangent := TAN (angle); result := ATAN (tangent); (* il risultato è uguale all'angolo*)

78

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 5

Istruzioni aritmetiche

Vedere anche
Istruzioni aritmetiche a pagina 67

ATAN_LREAL (arcotangente Calcola l'arcotangente di un valore Long Real.

Long Real)

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN ATAN_LREAL ENO

Tipo di parametro Ingresso
Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
LREAL LREAL BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo corrente. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Qualsiasi valore Long Real. Arcotangente del valore di ingresso (nel set [-PI/2 .. +PI/2]) = 0,0 per ingresso non valido.
Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

79

Capitolo 5

Istruzioni aritmetiche

Esempio di diagramma blocco funzione ATAN_LREAL

Esempio di diagramma ladder ATAN_LREAL

Esempio di testo strutturato ATAN_LREAL
(* Equivalenza ST: *) tangente := TAN_LREAL (angolo); risultato := ATAN_LREAL (tangente); (* il risultato è uguale all'angolo *)
Risultati

Vedere anche
Istruzioni aritmetiche a pagina 67

80

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

COS (coseno)

Capitolo 5

Istruzioni aritmetiche

Calcola il coseno di un valore Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN COS ENO

Tipo di parametro Ingresso
Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo del coseno corrente.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

REAL

Qualsiasi valore Real.

REAL

Coseno del valore di input (nel set [-1,0 .. +1,0]).

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali COS

Esempio di Diagramma ladder COS

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

81

Capitolo 5

Istruzioni aritmetiche

Esempio di Testo strutturato COS

(* Equivalenza ST: *) coseno := COS (angolo); risultato := ACOS (coseno); (* il risultato è uguale all'angolo *)
Risultati

Vedere anche
Istruzioni aritmetiche a pagina 67

COS_LREAL (coseno Long Real)

Calcola il coseno di un valore Long Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

82

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro EN
IN COS_LREAL ENO

Tipo di parametro Ingresso
Ingresso Uscita Uscita

Tipo di dati BOOL
LREAL LREAL BOOL

Descrizione

Capitolo 5

Abilitazione istruzioni. TRUE: esegue il calcolo del coseno corrente. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Qualsiasi valore Long Real.
Coseno del valore di input (nel set [-1,0 .. +1,0]).
Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Istruzioni aritmetiche

Esempio di programmazione a blocchi funzionali COS_LREAL

Esempio di diagramma ladder COS_LREAL

Esempio di testo strutturato COS_LREAL

(* Equivalenza ST: *) coseno := COS_LREAL (angolo); risultato := ACOS_LREAL (coseno); (* il risultato è uguale all'angolo *)

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

83

Capitolo 5

Istruzioni aritmetiche

Risultati

Division

Vedere anche
Istruzioni aritmetiche a pagina 67
Divide il primo valore di input Integer o Real per il secondo valore di input Integer o Real. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN

Tipo di parametro
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della divisione corrente.

FALSE: il calcolo non avviene.

Applicabile solo alle programmazioni in Ladder Diagram.

84

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 5

Istruzioni aritmetiche

i1

Ingresso

SINT

dividendo nel tipo di dati Integer o Real diverso da zero.

USINT

Tutti gli ingressi devono essere dello stesso tipo di dati.

BYTE

INT

UINT

WORD

DINT

UDINT DWORD

LINT

ULINT

LWORD

REAL

LREAL

i2

Ingresso

SINT

Divisore nel tipo di dati Integer o Real diverso da zero.

USINT

Tutti gli ingressi devono essere dello stesso tipo di dati.

BYTE

INT

UINT

WORD

DINT

UDINT DWORD

LINT

ULINT

LWORD

REAL

LREAL

o1

Uscita

SINT

Quoziente degli input nel tipo di dati Integer o Real diverso da zero.

USINT

Input e output devono utilizzare lo stesso tipo di dati.

BYTE

INT

UINT

WORD

DINT

UDINT DWORD

LINT

ULINT

LWORD

REAL

LREAL

ENO

Uscita

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato DIVISION
(* Equivalenza ST: *)
ao10 := ai101 / ai102; ao5 := (ai5 / 2) / ai53;

Vedere anche
Istruzioni aritmetiche a pagina 67

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

85

Capitolo 5

Istruzioni aritmetiche

EXPT (esponente)

Aumenta il valore di IN (base) alla potenza di EXP (esponente) e restituisce il risultato Real dell'operazione.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro
EN
IN EXP EXPT ENO

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo dell'esponente corrente.

FALSE: il calcolo non avviene.

REAL

Qualunque valore reale con segno.

DINT

Esponente intero.

REAL

Il valore Real di IN alla potenza di EXP.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali EXPT

Esempio di Diagramma ladder EXPT

86

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di Testo strutturato EXPT

Capitolo 5

Istruzioni aritmetiche

(* Equivalenza ST: *) dimensioni_tb := ANY_TO_DINT (EXPT (2,0; intervallo) );
Risultati

Vedere anche
Istruzioni aritmetiche a pagina 67

LOG (log base 10)

Calcola il logaritmo (base 10) di un valore Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

87

Capitolo 5

Istruzioni aritmetiche

Parametro

Tipo di parametro

EN

Ingresso

Tipo di dati BOOL

IN

Ingresso

REAL

LOG

Uscita

REAL

ENO

Uscita

BOOL

Descrizione
Abilitazione istruzioni. TRUE: esegue il calcolo del logaritmo corrente. FALSE: il calcolo non avviene. Deve essere maggiore di zero. Logaritmo (base 10) del valore in ingresso. Il valore restituito è -3.4E+38 per valori IN pari a zero e negativi. Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali LOG

Esempio di Diagramma ladder LOG

Esempio di Testo strutturato LOG
(* Equivalenza ST: *) xpos := ABS (xval); xlog := LOG (xpos);

88

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 5

Istruzioni aritmetiche

MOD (modulo)

Vedere anche
Istruzioni aritmetiche a pagina 67
Divide l'ingresso IN per l'ingresso Base e porta il resto nell'uscita MOD. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro
EN
IN Base MOD ENO

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo del modulo.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

DINT

Qualunque valore intero con segno.

DINT

Deve essere maggiore di zero.

DINT

Calcolo del modulo (input MOD base) / risultato -1 se base <= 0.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

89

Capitolo 5

Istruzioni aritmetiche

Esempio di programmazione a blocchi funzionali MOD

Esempio di Diagramma ladder MOD

Esempio di Testo strutturato MOD
(* Equivalenza ST: *) risultato_divisione := (valore / divisore); (* divisione intera *) resto_divisione := MOD (valore, divisore); (* resto della divisione *)

90

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 5

Istruzioni aritmetiche

MOV (sposta)

Vedere anche
Istruzioni aritmetiche a pagina 67
Assegna il valore di ingresso (i1) a un'uscita (o1). Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Per i programmi Testo strutturato, utilizzare l'operatore Equal (=) anziché MOV. Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN

Tipo di parametro
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue collegamento diretto a un calcolo di uscita.

FALSE: il calcolo non avviene.

Applicabile solo alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

91

Capitolo 5 i1
o1
ENO

Istruzioni aritmetiche

Ingresso Uscita Uscita

BOOL DINT REAL TIME STRING SINT USINT INT UINT UDINT LINT ULINT DATE LREAL BYTE WORD DWORD LWORD BOOL DINT REAL TIME STRING SINT USINT INT UINT UDINT LINT ULINT DATE LREAL BYTE WORD DWORD LWORD BOOL

Input e output devono utilizzare lo stesso tipo di dati.
Input e output devono utilizzare lo stesso tipo di dati.
Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di Testo strutturato
(* Equivalenza ST: *)
ao23 := ai10;

Vedere anche
Istruzioni aritmetiche a pagina 67

Multiplication
92

Moltiplica due o più valori Integer o Real.
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 5

Istruzioni aritmetiche

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
i2

Tipo di parametro Ingresso Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT LINT LWORD REAL LREAL

Abilitazione istruzioni. TRUE: esegue il calcolo della moltiplicazione corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Fattore in tipo di dati Integer o Real. Tutti gli ingressi devono essere dello stesso tipo di dati.
Fattore in tipo di dati Integer o Real. Tutti gli ingressi devono essere dello stesso tipo di dati.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

93

Capitolo 5 o1
ENO

Istruzioni aritmetiche

Uscita Uscita

SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL BOOL

Prodotto degli ingressi nel tipo di dati Integer o Real. Input e output devono utilizzare lo stesso tipo di dati.
Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di Testo strutturato Multiplication
(* Equivalenza ST *)
ao10 := ai101 * ai102; ao5 := (ai51 * ai52) * ai53;

Vedere anche
Istruzioni aritmetiche a pagina 67

Neg (negazione)

Converte un valore in un valore negato.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN

Tipo di parametro
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della conversione corrente in negativo.

FALSE: il calcolo non avviene.

Applicabile solo alle programmazioni in Ladder Diagram.

94

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

i1

Ingresso

SINT

INT

DINT

LINT

REAL

LREAL

o1

Uscita

SINT

INT

DINT

LINT

REAL

LREAL

ENO

Uscita

BOOL

Capitolo 5 Input e output devono essere dello stesso tipo di dati.

Istruzioni aritmetiche

Input e output devono essere dello stesso tipo di dati.

Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato Neg
(* Equivalenza ST: *)
ao23 := - (ai10); ro100 := - (ri1 + ri2);

Vedere anche
Istruzioni aritmetiche a pagina 67

POW (incremento alimentazione)

Quando il primo argomento è 'base' e il secondo è 'exponent', calcolare il risultato Real di (base exponent):
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN

Tipo di parametro Ingresso

IN

Ingresso

EXP

Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo dell'esponente corrente.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

REAL

Numero Real da elevare.

REAL

Potenza (esponente).

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

95

Capitolo 5

Istruzioni aritmetiche

POW

Uscita

REAL

ENO

Uscita

BOOL

(IN EXP) 1,0 se IN è diverso da 0,0 e EXP è 0,0 0,0 se IN è 0,0 mentre EXP è negativo 0,0 se IN ed EXP sono 0,0 0,0 se IN è negativo ed EXP non corrisponde a un numero intero.
Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali POW

Esempio di Diagramma ladder POW

Esempio di testo strutturato POW

(* Equivalenza ST: *) result := POW (xval, power);

96

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 5

Istruzioni aritmetiche

Vedere anche
Istruzioni aritmetiche a pagina 67

RAND (valore casuale)

Calcola valori interi casuali da un intervallo definito.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
base RAND ENO

Tipo di parametro Ingresso
Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo del valore intero casuale.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

DINT

Definisce il set di numeri supportato.

DINT

Valore casuale nel set [0..base-1].

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali RAND

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

97

Capitolo 5

Istruzioni aritmetiche

Esempio di Diagramma ladder RAND

Esempio di Testo strutturato RAND

(* Equivalenza ST: *) selected := MUX4 ( RAND (4), 1, 4, 8, 16 ); (* selezione casuale di 1 di 4 valori predefiniti il valore emesso della chiamata RAND è nel set [0..3], quindi 'selected' emesso da MUX4, ottiene il valore 'randomly' 1 se 0 è emesso da RAND, o 4 se 1 è emesso da RAND, o 8 se 2 è emesso da RAND, o 16 se 3 è emesso da RAND, *)
Risultati

98

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

SIN (seno)

Vedere anche
Istruzioni aritmetiche a pagina 67

Capitolo 5

Istruzioni aritmetiche

Calcola il seno di un valore Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN SIN ENO

Tipo di parametro Ingresso
Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo del seno corrente.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

REAL

Qualsiasi valore Real.

REAL

Seno del valore di input (nel set [-1,0 .. +1,0]).

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali SIN

Esempio di Diagramma ladder SIN

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

99

Capitolo 5

Istruzioni aritmetiche

Esempio di Testo strutturato SIN

(* Equivalenza ST: *) sine := SIN (angle); result := ASIN (sine); (* il risultato è uguale all'angolo *)
Risultati

Vedere anche
Istruzioni aritmetiche a pagina 67
SIN_LREAL (seno Long Real) Calcola il seno di un valore Long Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

100

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

EN

Ingresso

IN SIN_LREAL ENO

Ingresso Uscita Uscita

BOOL
LREAL LREAL BOOL

Capitolo 5
Abilitazione istruzioni. TRUE: esegue il calcolo corrente. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Qualsiasi valore Long Real. Seno del valore di input (nel set [-1,0 .. +1,0]). Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Istruzioni aritmetiche

Esempio di programmazione a blocchi funzionali SIN_LREAL

Esempio di diagramma ladder SIN_LREAL

Esempio di testo strutturato SIN_LREAL

(* Equivalenza ST: *) TESTOUTPUT1 := SIN_LREAL(TESTINPUT1) ;

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

101

Capitolo 5

Istruzioni aritmetiche

Risultati

Vedere anche
Istruzioni aritmetiche a pagina 67

SQRT (radice quadrata)

Calcola la radice quadrata di un valore Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN SQRT ENO

Tipo di parametro Ingresso
Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della radice quadrata corrente.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

REAL

Deve essere maggiore o uguale a zero.

REAL

Radice quadrata del valore di input. Il risultato restituito è 0 per un valore IN negativo.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali SQRT

102

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di diagramma ladder SQRT

Capitolo 5

Istruzioni aritmetiche

Esempio di Testo strutturato SQRT
(* Equivalenza ST: *) xpos := ABS (xval); xroot := SQRT (xpos);
Risultati

Subtraction

Vedere anche
Istruzioni aritmetiche a pagina 67
Sottrae un valore Integer, Real o Time da un altro valore Integer, Real o Time. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

103

Capitolo 5

Istruzioni aritmetiche

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
i2

Tipo di parametro Ingresso Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati BOOL

Descrizione
Abilitazione istruzioni. TRUE: esegue il calcolo dell'addizione corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram.

SINT USINT BYTE INT UINT WORD DINT
UDINT
DWORD LINT ULINT LWORD REAL LREAL TIME
SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME

Minuendo in qualsiasi tipo di dati Integer, Real o Time. Tutti gli ingressi devono essere dello stesso tipo di dati.
Sottraendo in qualsiasi tipo di dati Integer, Real o Time. Tutti gli ingressi devono essere dello stesso tipo di dati.

104

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

o1

Uscita

ENO

Uscita

TAN (tangente)

SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME
BOOL

Capitolo 5

Istruzioni aritmetiche

Differenza tra il minuendo e il sottraendo in qualsiasi tipo di dati Integer, Real o Time. L'output deve essere dello stesso tipo di dati degli input.

Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato Sottrazione
(* Equivalenza ST: *)
ao10 := ai101 - ai102; ao5 := (ai51 - 1) - ai53;
Vedere anche
Istruzioni aritmetiche a pagina 67

Calcola la tangente di un valore Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN TAN

Tipo di parametro Ingresso
Ingresso Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della tangente corrente.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

REAL

Non può essere uguale a PI/2 modulo PI.

REAL

Tangente del valore in ingresso = 1E+38 per ingresso valido.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

105

Capitolo 5

Istruzioni aritmetiche

ENO

Uscita

BOOL

Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali TAN

Esempio di Diagramma ladder TAN

Esempio di Testo strutturato TAN

(* Equivalenza ST: *) tangent := TAN (angle); result := ATAN (tangent); (* il risultato è uguale all'angolo*)
Risultati

106

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Vedere anche
Istruzioni aritmetiche a pagina 67

Capitolo 5

Istruzioni aritmetiche

TAN_LREAL (tangente Long Real)

Calcola la tangente di un valore Long Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN TAN_LREAL ENO

Tipo di parametro Ingresso
Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
LREAL LREAL BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo corrente. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Non può essere uguale a PI/2 modulo PI. Tangente del valore in ingresso = 1E+38 per ingresso valido.
Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali TAN_LREAL

Esempio di diagramma ladder TAN_LREAL

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

107

Capitolo 5

Istruzioni aritmetiche

Esempio di testo strutturato TAN_LREAL

(* Equivalenza ST: *) tangente := TAN_LREAL (angolo); risultato := ATAN_LREAL (tangente); (* il risultato è uguale all'angolo *)
Risultati

Vedere anche
Istruzioni aritmetiche a pagina 67

TRUNC (troncamento)

Tronca valori Real, lasciando solo l'intero.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

108

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

EN
IN TRUNC ENO

Ingresso
Ingresso Uscita Uscita

Capitolo 5

Istruzioni aritmetiche

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo del troncamento del valore Real.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

REAL

Qualsiasi valore Real.

REAL

Se IN>0, il numero intero più grande minore o uguale all'ingresso.

Se IN<0, il numero intero più piccolo maggiore o uguale all'ingresso.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali TRUNC

Esempio di Diagramma ladder TRUNC

Esempio di Testo strutturato TRUNC

(* Equivalenza ST: *) result := TRUNC (+2.67) + TRUNC (-2.0891); (* significa risultato := 2,0 + (-2,0) := 0,0; *)

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

109

Capitolo 5

Istruzioni aritmetiche

Risultati

Vedere anche
Istruzioni aritmetiche a pagina 67

110

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzioni porta seriale ASCII

Capitolo 6

Blocco funzione ABL a pagina 111
ACB a pagina 118 ACL a pagina 113 AHL a pagina 115 ARD a pagina 120
ARL a pagina 123 AWA a pagina 125 AWT a pagina 128

Utilizza le istruzioni della porta seriale ASCII per utilizzare o modificare il canale di comunicazione per la ricezione o la trasmissione dei dati.
Descrizione
Conta il numero di caratteri nel buffer fino al carattere di fine riga incluso.
Conta il numero totale dei caratteri nel buffer. Elimina i buffer di ricezione e trasmissione. Impostare o reimpostare linee di arbitraggio modem. Legge i caratteri dal buffer di ingresso e posiziona gli stessi in una stringa.
Legge una riga di caratteri dal buffer di ingresso e posiziona gli stessi in una stringa. Scrivere una stringa con due caratteri aggiunti (configurati dall'utente) su un dispositivo esterno. Scrive i caratteri da una stringa sorgente a un dispositivo esterno.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

ABL (prova ASCII per riga del

Conta il numero dei caratteri ASCII nel buffer di ingresso fino al carattere di terminazione incluso.

buffer)

Lingue supportate: Programmazione a blocchi funzionali, Diagramma

ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850 e Micro870.

Parametro

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

111

Capitolo 6 IN

Istruzioni porta seriale ASCII

Ingresso

BOOL

ABLInput Q

Ingresso Uscita

ABLACB BOOL

Characters

Uscita

UINT

Errore

Uscita

BOOL

ErrorID

Uscita

UINT

Stato ingresso ramo. TRUE: quando viene rilevato fronte di salita, avvia il blocco funzione ammesso che l'ultima operazione sia stata completata. FALSE: il blocco istruzione non è attivo. Canale su cui operare. Utilizzare il tipo di dati ABLACB per definire i parametri Canale, Tipo di trigger e Annulla per l'ingresso ABL. Indica quando il conteggio dei caratteri è in corso o è stato completato. Le uscite vengono aggiornate in modo asincrono dalla scansione del programma. L'output Q non è utilizzabile per riattivare l'istruzione, in quanto IN viene attivato sul fronte. TRUE: il blocco funzione è completo. FALSE: il blocco funzione non è completo. Il numero di caratteri nel buffer. Il limite di buffer è di 82 caratteri.
Indica la presenza di una condizione di errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore.
Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti nei codici di errore ABL.

Codice errore 03 06 07
08 09 10 11
13
14 16

Codici di errore ABL
Utilizzare questa tabella per determinare i codici di errore ABL e le descrizioni.
Descrizione errore
Impossibile completare la trasmissione perché il segnale Clear-to-Send è stato perso. È stato rilevato un parametro non valido. Impossibile completare la ricezione o la trasmissione ASCII perché la configurazione del canale è stata disattivata nella finestra di dialogo di configurazione del canale. Impossibile completare la scrittura ASCII perché è in corso un'altra trasmissione ASCII. La richiesta di comunicazione ASCII non è supportata dalla configurazione del canale in uso. L'esecuzione dell'istruzione è stata arrestata in seguito all'invio del comando Annulla. Nessuna azione richiesta. La lunghezza richiesta per la stringa non è valida o è un numero negativo, maggiore di 82 o uguale a 0. Si applica ai blocchi funzione ARD e ARL.
Il valore richiesto (.LEN) nel blocco di funzione è un numero negativo o un valore maggiore della dimensione della stringa memorizzata con la stringa sorgente. Si applica ai blocchi funzione AWA e AWT. Il blocco funzione ACL è stato interrotto. Le linee di controllo RTS o CTS non sono supportate dalla porta seriale.

Esempio di programmazione a blocchi funzionali ABL

112

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 6
Esempio di Diagramma ladder ABL

Istruzioni porta seriale ASCII

Esempio di Testo strutturato ABL

Vedere anche
Tipo di dati ABLACB a pagina 131 Istruzioni porta seriale ASCII a pagina 111

ACL (buffer cancellazione ASCII)

Cancella i buffer di ricezione e trasmissione e rimuove le istruzioni dalla coda ASCII.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850 e Micro870.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

113

Capitolo 6

Istruzioni porta seriale ASCII
Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Parametro

Tipo di parametro Tipo di dati

Descrizione

IN

Ingresso

ACLInput

Ingresso

BOOL

Stato ingresso ramo.

TRUE: quando viene rilevato fronte di salita, avvia il blocco funzione ammesso che l'ultima operazione sia stata completata.

FALSE: il blocco istruzione non è attivo.

ACLI

Il canale su cui operare e lo stato dei buffer di trasmissione e ricezione.

Se RXBuffer, elimina il buffer di ricezione e rimuove i blocchi funzione ASCII di ricezione (ARL e ARD)

dalla coda ASCII.

Se TXBuffer, elimina il buffer di trasmissione e rimuove i blocchi funzione ASCII di trasmissione (AWA e AWT) dalla coda ASCII.

Utilizzare il tipo di dati ACLI per definire i parametri Canale, RXBuffer e TXBuffer per ACLInput.

Q Errore ErrorID

Uscita Uscita Uscita

BOOL

Indica se il processo di cancellazione della coda ASCII è in corso o completo.

TRUE: il blocco funzione è completo.

FALSE: il blocco funzione non è completo.

BOOL

Indica la presenza di una condizione di errore.

TRUE - È stato rilevato un errore.

FALSE - Nessun errore.

UINT

Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti nei codici di

errore ABL.

Codice errore 03 06 07
08 09 10 11
13
14 16

Codici di errore ABL
Utilizzare questa tabella per determinare i codici di errore ABL e le descrizioni.
Descrizione errore
Impossibile completare la trasmissione perché il segnale Clear-to-Send è stato perso. È stato rilevato un parametro non valido. Impossibile completare la ricezione o la trasmissione ASCII perché la configurazione del canale è stata disattivata nella finestra di dialogo di configurazione del canale. Impossibile completare la scrittura ASCII perché è in corso un'altra trasmissione ASCII. La richiesta di comunicazione ASCII non è supportata dalla configurazione del canale in uso. L'esecuzione dell'istruzione è stata arrestata in seguito all'invio del comando Annulla. Nessuna azione richiesta. La lunghezza richiesta per la stringa non è valida o è un numero negativo, maggiore di 82 o uguale a 0. Si applica ai blocchi funzione ARD e ARL.
Il valore richiesto (.LEN) nel blocco di funzione è un numero negativo o un valore maggiore della dimensione della stringa memorizzata con la stringa sorgente. Si applica ai blocchi funzione AWA e AWT. Il blocco funzione ACL è stato interrotto. Le linee di controllo RTS o CTS non sono supportate dalla porta seriale.

114

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 6

Istruzioni porta seriale ASCII

Esempio di Programmazione a blocchi funzionali ACL

Esempio di Diagramma ladder ACL

Esempio di Testo strutturato ACL

Vedere anche
Tipo di dati ACL a pagina 131 Istruzioni porta seriale ASCII a pagina 111

AHL (righe di arbitraggio ASCII)

Imposta o ripristina le linee di controllo di arbitraggio Request to Send (RTS) RS-232 del modem.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

115

Capitolo 6

Istruzioni porta seriale ASCII
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850 e Micro870.

Parametro IN
AHLInput Q
ChannelSts Errore ErrorID

Tipo di parametro Ingresso
Ingresso Uscita
Uscita Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Stato ingresso ramo.

TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima

operazione sia stata completata.

FALSE: il blocco istruzione non è attivo.

AHLI

Il canale su cui operare e l'impostazione o reset della linea di controllo RTS per il modem.

Utilizzare il tipo di dati AHLI per definire i parametri Canale, SetRts, ClrRts, e Annulla per AHLInput.

BOOL

Indica se l'impostazione o il reset sono stati completati.

Gli output di questa istruzione sono aggiornati in modo asincrono rispetto alla scansione del programma. L'output Q non è utilizzabile per riattivare l'istruzione, in quanto IN viene attivato sul fronte.

TRUE: il blocco funzione è completo.

FALSE: il blocco funzione non è completo.

WORD

Visualizza lo stato corrente (da 0000 a 001F) delle righe di arbitraggio per il canale specificato.

BOOL

Indica la presenza di una condizione di errore.

TRUE - È stato rilevato un errore.

FALSE - Nessun errore.

UINT

Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti nei codici di

errore ABL.

Codice errore 03 06 07
08 09 10 11
13
14 16
116

Codici di errore ABL
Utilizzare questa tabella per determinare i codici di errore ABL e le descrizioni.
Descrizione errore
Impossibile completare la trasmissione perché il segnale Clear-to-Send è stato perso. È stato rilevato un parametro non valido. Impossibile completare la ricezione o la trasmissione ASCII perché la configurazione del canale è stata disattivata nella finestra di dialogo di configurazione del canale. Impossibile completare la scrittura ASCII perché è in corso un'altra trasmissione ASCII. La richiesta di comunicazione ASCII non è supportata dalla configurazione del canale in uso. L'esecuzione dell'istruzione è stata arrestata in seguito all'invio del comando Annulla. Nessuna azione richiesta. La lunghezza richiesta per la stringa non è valida o è un numero negativo, maggiore di 82 o uguale a 0. Si applica ai blocchi funzione ARD e ARL.
Il valore richiesto (.LEN) nel blocco di funzione è un numero negativo o un valore maggiore della dimensione della stringa memorizzata con la stringa sorgente. Si applica ai blocchi funzione AWA e AWT. Il blocco funzione ACL è stato interrotto. Le linee di controllo RTS o CTS non sono supportate dalla porta seriale.
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 6

Istruzioni porta seriale ASCII

Esempio di programmazione a blocchi funzionali AHL

Esempio di Diagramma ladder AHL

Esempio di testo strutturato AHL

Vedere anche
Tipo di dati AHLI a pagina 132 Tipo di dati AHL ChannelSts a pagina 131 Istruzioni porta seriale ASCII a pagina 111

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

117

Capitolo 6

Istruzioni porta seriale ASCII

ACB (caratteri ASCII nel buffer)

Conta il numero totale di caratteri ASCII nel buffer, incluso il carattere di fine riga.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850 e Micro870.

Parametro IN
ACBInput Q
Characters Errore ErrorID

Tipo di parametro Ingresso
Ingresso Uscita
Uscita Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL ABLACB BOOL
UINT BOOL UINT

Stato ingresso ramo. TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata. FALSE: il blocco istruzione non è attivo. Canale su cui operare. Utilizzare il tipo di dati ABLACB per definire i parametri Canale, Tipo di trigger e Annulla per l'ingresso ACB. Indica se il conteggio dei caratteri è in corso o è stato completato. Le uscite di questo blocco funzione vengono aggiornate in modo asincrono rispetto alla scansione del programma. L'output Q non è utilizzabile per riattivare l'istruzione, in quanto IN viene attivato sul fronte. TRUE: il conteggio è completo. FALSE: il conteggio è in corso. Il numero di caratteri nel buffer. Indica la presenza di una condizione di errore. FALSE - Nessun errore. TRUE - È stato rilevato un errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti nei codici di errore ABL.

Codici di errore ACB
Utilizzare questa tabella per determinare i codici di errore ABL e le descrizioni.

118

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Codice errore 03 06 07
08 09 10 11
13
14 16

Descrizione errore

Capitolo 6

Istruzioni porta seriale ASCII

Impossibile completare la trasmissione perché il segnale Clear-to-Send è stato perso. È stato rilevato un parametro non valido.
Impossibile completare la ricezione o la trasmissione ASCII perché la configurazione del canale è stata disattivata nella finestra di dialogo di configurazione del canale. Impossibile completare la scrittura ASCII perché è in corso un'altra trasmissione ASCII.
La richiesta di comunicazione ASCII non è supportata dalla configurazione del canale in uso. L'esecuzione dell'istruzione è stata arrestata in seguito all'invio del comando Annulla. Nessuna azione richiesta.
La lunghezza richiesta per la stringa non è valida o è un numero negativo, maggiore di 82 o uguale a 0. Si applica ai blocchi funzione ARD e ARL.

Il valore richiesto (.LEN) nel blocco di funzione è un numero negativo o un valore maggiore della dimensione della stringa memorizzata con la stringa sorgente. Si applica ai blocchi funzione AWA e AWT. Il blocco funzione ACL è stato interrotto.
Le linee di controllo RTS o CTS non sono supportate dalla porta seriale.

Esempio di Programmazione a blocchi funzionali ACB

Esempio di Diagramma ladder ACB

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

119

Capitolo 6

Istruzioni porta seriale ASCII
Esempio di Testo strutturato ACB

ARD (lettura ASCII)

Vedere anche
Tipo di dati ABLACB a pagina 131
Istruzioni porta seriale ASCII a pagina 111
Legge i caratteri ASCII dal buffer di ingresso e li memorizza in una stringa.
Dettagli operazione:
· L'istruzione ARD viene eseguita finché non verranno ricevuti tutti i caratteri nel buffer di ASCII. Eventuali viene eseguita un'istruzione ASCII, viene messa in coda fino al completamento di ARD.
· Per interrompere l'istruzione ARD, eseguire un'istruzione ACL. · Per evitare che l'istruzione ARD ritardi la coda ASCII mentre è in
attesa del numero necessario di caratteri, usare i risultati di un'istruzione ACB per attivare l'istruzione ARD. · Lo status dell'istruzione può essere estratto dal bit di controllo dell'istanza di istruzione (per esempio, ARD_1.controlbit). Questo mostra se l'istruzione sta bloccando la coda delle istruzioni ASCII in attesa di altri caratteri: · 7° bit = Istruzione abilitata. · 6° bit = Istruzione in coda. · 5° bit = Istruzione eseguita. · 3° bit = Istruzione con errore.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

120

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 6

Istruzioni porta seriale ASCII

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850 e Micro870.

Parametro IN
ARDInput Q
Destinazione NumChar Errore ErrorID

Tipo di parametro Ingresso
Ingresso Uscita
Uscita Uscita Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
ARDARL BOOL
ASCIILOCADDR UINT BOOL UINT

Stato ingresso ramo. TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata. FALSE: il blocco istruzione non è attivo. Legge i caratteri dal buffer. Il massimo è 82. Utilizzare il tipo di dati ARDARL per definire i parametri Canale, Lunghezza e Annulla per ARDInput. Indica quando la lettura del buffer è in corso o completata. Gli output di questa istruzione sono aggiornati in modo asincrono rispetto alla scansione del programma. L'output Q non è utilizzabile per riattivare l'istruzione, in quanto IN viene attivato sul fronte. TRUE: il blocco funzione è completo. FALSE: il blocco funzione non è completo. Elemento della stringa in cui vengono memorizzati i caratteri. Il numero di caratteri. Indica la presenza di una condizione di errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti nei codici di errore ABL.

Codici di errore ABL
Utilizzare questa tabella per determinare i codici di errore ABL e le descrizioni.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

121

Capitolo 6

Istruzioni porta seriale ASCII

Codice errore

Descrizione errore

03

Impossibile completare la trasmissione perché il segnale Clear-to-Send è stato perso.

06

È stato rilevato un parametro non valido.

07

Impossibile completare la ricezione o la trasmissione ASCII perché la configurazione del canale è stata disattivata nella finestra di dialogo di

configurazione del canale.

08

Impossibile completare la scrittura ASCII perché è in corso un'altra trasmissione ASCII.

09

La richiesta di comunicazione ASCII non è supportata dalla configurazione del canale in uso.

10

L'esecuzione dell'istruzione è stata arrestata in seguito all'invio del comando Annulla. Nessuna azione richiesta.

11

La lunghezza richiesta per la stringa non è valida o è un numero negativo, maggiore di 82 o uguale a 0. Si applica ai blocchi funzione ARD e ARL.

13

Il valore richiesto (.LEN) nel blocco di funzione è un numero negativo o un valore maggiore della dimensione della stringa memorizzata con la

stringa sorgente. Si applica ai blocchi funzione AWA e AWT.

14

Il blocco funzione ACL è stato interrotto.

16

Le linee di controllo RTS o CTS non sono supportate dalla porta seriale.

Esempio di programmazione a blocchi funzionali ARD

Esempio di diagramma ladder ARD

122

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di testo strutturato ARD

Capitolo 6

Istruzioni porta seriale ASCII

Vedere anche
Tipo di dati ARDARL a pagina 132 Istruzioni porta seriale ASCII a pagina 111

ARL (riga di lettura ASCII)

Legge una riga di caratteri ASCII dal buffer fino ai caratteri di terminazione inclusi e li memorizza in una stringa.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850 e Micro870.

Parametro IN
ARLInput

Tipo di parametro Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL ARDARL

Stato ingresso ramo. TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata. FALSE: il blocco istruzione non è attivo.
Leggere una riga di caratteri ASCII dal buffer. Il massimo è 82. Utilizzare il tipo di dati ARDARL per definire i parametri Canale, Lunghezza e Annulla per ARDLInput.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

123

Capitolo 6 Q

Istruzioni porta seriale ASCII

Uscita

BOOL

Destinazione NumChar Errore

Uscita Uscita Uscita

ErrorID

Uscita

ASCIILOCADDR UINT BOOL
UINT

Indica quando la linea di lettura dal buffer di ingresso è in corso o è stata completata. Gli output di questa istruzione sono aggiornati in modo asincrono rispetto alla scansione del programma. L'output Q non è utilizzabile per riattivare l'istruzione, in quanto IN viene attivato sul fronte. TRUE: il blocco funzione è completo. FALSE: il blocco funzione non è completo. Elemento della stringa in cui vengono memorizzati i caratteri. Il numero di caratteri nella riga, incluso il carattere di terminazione.
Indica la presenza di una condizione di errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore.
Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti nei codici di errore ABL.

Codice errore 03 06 07
08 09 10 11
13
14 16

Codici di errore ABL
Utilizzare questa tabella per determinare i codici di errore ABL e le descrizioni.
Descrizione errore
Impossibile completare la trasmissione perché il segnale Clear-to-Send è stato perso. È stato rilevato un parametro non valido. Impossibile completare la ricezione o la trasmissione ASCII perché la configurazione del canale è stata disattivata nella finestra di dialogo di configurazione del canale. Impossibile completare la scrittura ASCII perché è in corso un'altra trasmissione ASCII. La richiesta di comunicazione ASCII non è supportata dalla configurazione del canale in uso. L'esecuzione dell'istruzione è stata arrestata in seguito all'invio del comando Annulla. Nessuna azione richiesta. La lunghezza richiesta per la stringa non è valida o è un numero negativo, maggiore di 82 o uguale a 0. Si applica ai blocchi funzione ARD e ARL.
Il valore richiesto (.LEN) nel blocco di funzione è un numero negativo o un valore maggiore della dimensione della stringa memorizzata con la stringa sorgente. Si applica ai blocchi funzione AWA e AWT. Il blocco funzione ACL è stato interrotto. Le linee di controllo RTS o CTS non sono supportate dalla porta seriale.

Esempio di diagramma di blocco funzione ARL

124

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di diagramma ladder ARL

Capitolo 6

Istruzioni porta seriale ASCII

Esempio di testo strutturato ARL

AWA (scrittura ASCII aggiunta)

Vedere anche
Tipo di dati ARDARL a pagina 132 Istruzioni porta seriale ASCII a pagina 111
Scrivere una stringa con due caratteri aggiunti (configurati dall'utente) su un dispositivo esterno. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

125

Capitolo 6

Istruzioni porta seriale ASCII
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850 e Micro870.

Parametro IN
AWAInput Origine Q
NumChar Errore ErrorID

Tipo di parametro Ingresso
Ingresso Ingresso Uscita
Uscita Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati BOOL

Descrizione
Stato ingresso ramo. TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione, ammesso che l'ultima operazione sia stata completata. FALSE: il blocco istruzione non è attivo.

AWAAWT ASCIILOCADDR BOOL
UINT BOOL UINT

Il canale e il numero (lunghezza) dei caratteri da scrivere nel buffer. Il valore massimo è 82. Utilizzare il tipo di dati AWAAWT per definire i parametri Canale, Lunghezza e Annulla per AWAInput. La stringa sorgente uscita come vettore di caratteri secondo l'istruzione ARD o ARL.
Indica quando la scrittura è in corso o completata. Gli output di questa istruzione sono aggiornati in modo asincrono rispetto alla scansione del programma. L'output Q non è utilizzabile per riattivare l'istruzione, in quanto IN viene attivato sul fronte. TRUE: il blocco funzione è completo. FALSE: il blocco funzione non è completo. Il numero di caratteri. NumChar può essere inferiore alla lunghezza richiesta da trasmettere se la lunghezza della stringa Source String è inferiore alla lunghezza richiesta. Aggiorna quando la trasmissione è completa e Q è TRUE. Indica la presenza di una condizione di errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti nei codici di errore ABL.

Codici di errore ABL
Utilizzare questa tabella per determinare i codici di errore ABL e le descrizioni.

126

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Codice errore 03 06 07
08 09 10 11
13
14 16

Descrizione errore

Capitolo 6

Istruzioni porta seriale ASCII

Impossibile completare la trasmissione perché il segnale Clear-to-Send è stato perso. È stato rilevato un parametro non valido.
Impossibile completare la ricezione o la trasmissione ASCII perché la configurazione del canale è stata disattivata nella finestra di dialogo di configurazione del canale. Impossibile completare la scrittura ASCII perché è in corso un'altra trasmissione ASCII.
La richiesta di comunicazione ASCII non è supportata dalla configurazione del canale in uso. L'esecuzione dell'istruzione è stata arrestata in seguito all'invio del comando Annulla. Nessuna azione richiesta.
La lunghezza richiesta per la stringa non è valida o è un numero negativo, maggiore di 82 o uguale a 0. Si applica ai blocchi funzione ARD e ARL.

Il valore richiesto (.LEN) nel blocco di funzione è un numero negativo o un valore maggiore della dimensione della stringa memorizzata con la stringa sorgente. Si applica ai blocchi funzione AWA e AWT. Il blocco funzione ACL è stato interrotto.
Le linee di controllo RTS o CTS non sono supportate dalla porta seriale.

Esempio di programmazione a blocchi funzionali AWA

Esempio di diagramma ladder AWA

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

127

Capitolo 6

Istruzioni porta seriale ASCII
Esempio di testo strutturato AWA

Vedere anche
Istruzioni porta seriale ASCII a pagina 111 Tipo di dati AWAAWT a pagina 133

AWT (scrittura ASCII)

Scrive caratteri ASCII da una stringa sorgente a un dispositivo esterno
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850 e Micro870.

Parametro IN
AWTInput Origine

Tipo di parametro Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Stato ingresso ramo.

TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima

operazione sia stata completata.

FALSE: il blocco istruzione non è attivo.

Ingresso Ingresso

AWAAWT ASCIILOCADDR

Il canale e il numero (lunghezza) dei caratteri da scrivere nel buffer. Il valore massimo è 82. Utilizzare il tipo di dati AWAAWT per definire i parametri Canale, Lunghezza e Annulla per AWTInput. La stringa sorgente uscita come vettore di caratteri secondo l'istruzione ARD o ARL.

128

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 6

Istruzioni porta seriale ASCII

Q

Uscita

NumChar Errore ErrorID

Uscita Uscita Uscita

BOOL

Indica quando la scrittura è in corso o completata.

Gli output di questa istruzione sono aggiornati in modo asincrono rispetto alla scansione del

programma. L'output Q non è utilizzabile per riattivare l'istruzione, in quanto IN viene attivato sul

fronte.

TRUE: il blocco funzione è completo.

FALSE: il blocco funzione non è completo.

UINT

Il numero di caratteri. NumChar può essere inferiore alla lunghezza richiesta da trasmettere se

la lunghezza della stringa Source String è inferiore alla lunghezza richiesta.

Aggiorna quando la trasmissione è completa e Q è TRUE.

BOOL

Indica la presenza di una condizione di errore.

TRUE - È stato rilevato un errore.

FALSE - Nessun errore.

UINT

Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti nei codici di

errore ABL.

Codice errore 03 06 07
08 09 10 11
13
14 16

Codici di errore ABL
Utilizzare questa tabella per determinare i codici di errore ABL e le descrizioni.
Descrizione errore
Impossibile completare la trasmissione perché il segnale Clear-to-Send è stato perso. È stato rilevato un parametro non valido. Impossibile completare la ricezione o la trasmissione ASCII perché la configurazione del canale è stata disattivata nella finestra di dialogo di configurazione del canale. Impossibile completare la scrittura ASCII perché è in corso un'altra trasmissione ASCII. La richiesta di comunicazione ASCII non è supportata dalla configurazione del canale in uso. L'esecuzione dell'istruzione è stata arrestata in seguito all'invio del comando Annulla. Nessuna azione richiesta. La lunghezza richiesta per la stringa non è valida o è un numero negativo, maggiore di 82 o uguale a 0. Si applica ai blocchi funzione ARD e ARL.
Il valore richiesto (.LEN) nel blocco di funzione è un numero negativo o un valore maggiore della dimensione della stringa memorizzata con la stringa sorgente. Si applica ai blocchi funzione AWA e AWT. Il blocco funzione ACL è stato interrotto. Le linee di controllo RTS o CTS non sono supportate dalla porta seriale.

Esempio di programmazione a blocchi funzionali AWT

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

129

Capitolo 6

Istruzioni porta seriale ASCII
Esempio di diagramma ladder AWT

Esempio di testo strutturato AWT

Vedere anche
Istruzioni porta seriale ASCII a pagina 111 Tipo di dati AWAAWT a pagina 133

Dettagli dei parametri ASCII

I seguenti argomenti forniscono maggiori dettagli sui parametri ASCII e i tipi di dati strutturati.
· Tipo di dati ABLACB · Tipo di dati ACL · Tipo di dati AHL ChannelSts · Tipo di dati AHLI · Tipo di dati ARDARL · Tipo di dati AWAAWT

Vedere anche
Istruzioni porta seriale ASCII a pagina 111

130

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Tipo di dati ABLACB

Parametri Canale

Tipo di dati UINT

TriggerType

USINT

Annulla

BOOL

Capitolo 6

Istruzioni porta seriale ASCII

Utilizzare questa tabella per determinare i valori dei parametri per il tipo di dati ABLACB.

Descrizione

Numero seriale porta: · 2 per la porta seriale integrata o · 5-9 per i plug-in della porta seriale installati negli slot 1 - 5: · 5 per lo slot 1 · 6 per lo slot 2 · 7 per lo slot 3 · 8 per lo slot 4 · 9 per lo slot 5

Rappresenta uno dei seguenti: · 0: Msg attivato una volta (quando IN passa da False a True) · 1: Msg attivato di continuo quando IN è True · Altro valore: Riservato
Quando questo input è impostato a TRUE, questo blocco funzione non viene eseguito.

Vedere anche
Dettagli dei parametri ASCII a pagina 130

Tipo di dati ACL

Parametri Canale

Tipo di dati UINT

RXBuffer

BOOL

TXBuffer

BOOL

Utilizzare questa tabella per determinare i valori dei parametri per il tipo di dati ABL.
Descrizione
Numero seriale porta: · 2 per la porta seriale integrata o · 5-9 per i plug-in della porta seriale installati negli slot 1 - 5: · 5 per lo slot 1 · 6 per lo slot 2 · 7 per lo slot 3 · 8 per lo slot 4 · 9 per lo slot 5
Se TRUE, elimina il buffer di ricezione e rimuove i blocchi funzione ASCII di ricezione (ARL e ARD) dalla coda ASCII.
Se TRUE, elimina il buffer di trasmissione e rimuove i blocchi funzione ASCII di trasmissione (ARL e ARD) dalla coda ASCII.

Vedere anche
Dettagli dei parametri ASCII a pagina 130

Tipo di dati AHL ChannelSts Utilizzare questa tabella per determinare i valori dei parametri del tipo
di dati AHL ChannelSts.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

131

Capitolo 6

Istruzioni porta seriale ASCII Parametri DTRstatus DCDstatus
DSRstatus RTSstatus
CTSstatus

Tipo di dati UINT UINT
UINT UINT
UINT

Descrizione
Utilizzato per il segnale DTR (riservato) Utilizzato per il segnale DCD (bit 3 di parola) 1 indica attivo Utilizzato per il segnale DSR (riservato)
Utilizzato per il segnale RTS (bit 1 di parola) 1 indica attivo Utilizzato per il segnale CTS (bit 0 di parola) 1 indica attivo

Vedere anche
Dettagli dei parametri ASCII a pagina 130 Tipo di dati AHLI a pagina 132

Tipo di dati AHLI

Parametri Canale

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati AHL.

Tipo di dati

Descrizione

UINT

Numero seriale porta:

· 2 per la porta seriale integrata o

· 5-9 per i plug-in della porta seriale installati negli slot 1 - 5:

· 5 per lo slot 1

· 6 per lo slot 2

· 7 per lo slot 3

· 8 per lo slot 4

· 9 per lo slot 5

ClrRts

BOOL

SetRts

BOOL

Annulla

BOOL

Utilizzato per ripristinare la linea di controllo RTS.
Utilizzato per impostare la linea di controllo RTS. Quando questo input è impostato a TRUE, questo blocco funzione non viene eseguito.

Vedere anche
Dettagli dei parametri ASCII a pagina 130 Tipo di dati AHL ChannelSts a pagina 131

Tipo di dati ARDARL

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati ARDARL.

132

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri Canale
Lunghezza Annulla

Tipo di dati UINT
UINT BOOL

Descrizione

Capitolo 6

Istruzioni porta seriale ASCII

Numero seriale porta: · 2 per la porta seriale integrata o · 5-9 per i plug-in della porta seriale installati negli slot 1 - 5: · 5 per lo slot 1 · 6 per lo slot 2 · 7 per lo slot 3 · 8 per lo slot 4 · 9 per lo slot 5 Il numero di caratteri che si vuole leggere dal buffer (massimo 82). Quando questo input è impostato a TRUE, questo blocco funzione non viene eseguito. Se già in esecuzione, l'operazione termina.

Vedere anche
Dettagli dei parametri ASCII a pagina 130

Tipo di dati AWAAWT

Parametri Canale

Tipo di dati UINT

Lunghezza

UINT

Annulla

BOOL

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati AWAAWT.
Descrizione
Numero seriale porta: · 2 per la porta seriale integrata o · 5-9 per i plug-in della porta seriale installati negli slot 1 - 5: · 5 per lo slot 1 · 6 per lo slot 2 · 7 per lo slot 3 · 8 per lo slot 4 · 9 per lo slot 5 Definisce il numero di caratteri che da scrivere nel buffer (massimo 82). Se si imposta la lunghezza a 0, AWA invia 0 byte di dati utente e 2 byte di caratteri aggiunti al buffer.
Se TRUE, il blocco funzione non viene eseguito. Se già in esecuzione, l'operazione termina.

Vedere anche
Dettagli dei parametri ASCII a pagina 130

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

133

Istruzioni binarie

Capitolo 7

Usare le istruzioni binarie per eseguire operazioni matematiche.

Operatore

Descrizione

AND_MASK a pagina 135 NOT_MASK a pagina 144

Esegue AND bit-to-bit tra due valori Integer. Maschera negazione numero intero bit-to-bit, inverte il valore di un parametro.

BSL a pagina 137 BSR a pagina 141 OR_MASK a pagina 146 ROL a pagina 147

Sposta un bit in un elemento vettore verso sinistra. Sposta un bit in un elemento vettore verso destra. Maschera OR numero intero bit-to-bit, abilita i bit. Per i numeri Integer a 32 bit, ruota i bit interi a sinistra.

ROR a pagina 149 SHL a pagina 151
SHR a pagina 153 XOR_MASK a pagina 155

Per i numeri Integer a 32 bit, ruota i bit interi a sinistra. Per gli integer a 32-bit, sposta gli integer a sinistra e inserisce 0 nel bit meno significativo.
Per gli Integer a 32 bit, sposta gli Integer a sinistra e colloca 0 nel bit più significativo. Maschera OR intero esclusivo bit-to-bit, restituisce valori di bit invertiti.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

AND_MASK (maschera AND) Esegue AND bit-to-bit tra due valori Integer.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN MSK

Tipo di parametro Ingresso
Ingresso Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della maschera per Integer AND bit-to-bit

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

DINT

Deve avere il formato Integer.

DINT

Deve avere il formato Integer.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

135

Capitolo 7

Istruzioni binarie

AND_MASK ENO

Uscita Uscita

DINT

Bit-to-bit logico AND tra IN e MSK.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali AND_MASK

Esempio di diagramma ladder AND_MASK

Esempio di testo strutturato AND_MASK
(* Equivalenza ST: *) parity := AND_MASK (xvalue, 1); (* 1 se xvalue è dispari *) result := AND_MASK (16#abc, 16#f0f); (* uguale a 16#a0c *)

136

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 7

Istruzioni binarie

Vedere anche
Istruzioni binarie a pagina 135

BSL (spostamento del bit a sinistra)

Sposta un bit in un elemento vettore verso sinistra.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.
Dettagli operazione:
L'istruzione BSL è un processo immediato nella transizione del ramo da false a true e negli aggiornamenti in uscita in modo sincrono. Quando Execute è TRUE, il bit più a sinistra (Src + SrcOffset e Length) viene copiato nel bit Unload e tutti i bit nel vettore o meno vengono spostati a sinistra di un bit. Length e limite di 16 bit vengono considerati tranne che per i tipi di dati BOOL. Il bit esterno viene quindi spostato sul bit 0 (Src + SrcOffset) del primo elemento.
Per le operazioni di testo intorno, impostare la posizione di BitAddr sull'ultima posizione del bit o sul bit Unload. Possibile utilizzo

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

137

Capitolo 7

Istruzioni binarie

dell'istruzione BSL, tracciare bottiglie in una linea di imbottigliamento dove ogni bit rappresenta una bottiglia.

Parametro Execute
Scr SrcOffset BitAddr Lunghezza
Done Scarica 138

Tipo di parametro Ingresso
Ingresso Ingresso Ingresso Ingresso
Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
ANY_ELEMENTARY UINT BOOL UINT
BOOL BOOL

Abilitazione istruzioni. TRUE: fronte di salita rilevato, sposta il bit di una posizione a sinistra. · Innanzitutto vengono verificate le condizioni di errore. · Se Length = 0, il bit esterno viene spostato nel bit Unload. Nessun spostamento di bit su Scr.
Viene eseguito il reset dei bit Error ed ErrorID. Viene impostato il bit Done. · Se Length > 0 e Length  2048, viene eseguito il reset dei bit Error ed ErrorID. Una volta
completato lo spostamento dei bit, il bit Done viene impostato. · Se Length > 0 e Length  2048, il bit più a sinistra (indirizzato da Src + SrcOffset e Length)
viene copiato nel bit Scarica e tutti i bit che fanno parte del vettore o no vengono spostati a sinistra di un bit (fino al bit Length e al limite di 16 bit, ad eccezione di BOOL). Il bit esterno viene spostato sul bit 0 (Src + SrcOffset) del primo elemento. FALSE: fronte di salita non rilevato, non attivare l'operazione BSL.
L'indirizzo del (bit) Src da spostare. Tipi di dati supportati: BOOL, DWORD, INT, UINT, WORD, DINT e UDINT. · Vettori: Impostare Scr su un indirizzo a base variabile come: Source1, Source1[0] o
Source1[1]. · Non vettori: Impostare Scr su un indirizzo variabile come Source1. Se SrcOffset è 0, iniziare dal primo elemento. · Vettori: Impostare SrcOffset su 0. Se impostato su Source1[0] o Source1[1], si verifica un
errore: "L'offset di origine supera le dimensioni dell'array.". · Non vettori: Impostare SrcOffset su 0; in caso contrario si verifica un errore: "L'offset di
origine supera le dimensioni dell'array.".
Posizione del bit spostato in Src.
Lunghezza contiene il numero di bit presenti in Src da spostare. Supporta lo spostamento tra elementi dell'array. · Per il tipo di dati BOOL, il numero di Booleani presenti nel vettore da spostare. · Per i tipi di dati a 16 e 32 bit, i bit vengono spostati in multipli di 16, ad esempio 16, 32 e 64.
Se Length non è un multiplo esatto di 16, il numero di bit spostati viene inviato al successivo limite di 16 bit. · Length si basa sulla dimensione del tipo di dati. Se si supera l'intervallo viene generato un errore con il seguente messaggio: "L'offset di origine supera le dimensioni del vettore". Valori Lunghezza: · BOOL: 1 · Parola da 16 bit: 1-16 · Parola da 32 bit: 1-32 · Parola da 64 bit: 1-64 Se TRUE, l'operazione è stata completata correttamente. Se FALSE, durante l'operazione è stata rilevata una condizione di errore.
Bit spostato fuori dall'indirizzo Src.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Errore ErrorID

Uscita Uscita

Capitolo 7

Istruzioni binarie

BOOL

Se si verifica un errore, Error viene impostato su true.

USINT

Se si verifica un errore, ErrorID contiene il codice dell'errore.

Codici di errore BSL

Codice errore

Descrizione errore

01

Dimensioni non supportate.

02

Tipo di dati non supportato.

03

La lunghezza dei bit supera 2048.

04

L'offset di origine supera la dimensione dell'array.

05

La lunghezza dei bit supera la dimensione dell'array.

07

Parametro non valido.

Esempio di programmazione a blocchi funzionali BSL

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

139

Capitolo 7

Istruzioni binarie

Esempio di Diagramma ladder BSL

Esempio di Testo strutturato BSL

140

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 7

Istruzioni binarie

Vedere anche
Istruzioni binarie a pagina 135

BSR (spostamento del bit a destra)

Sposta un bit in un elemento vettore verso destra.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.
Dettagli operazione:
L'istruzione BSR è un processo immediato nella transizione del ramo da false a true e negli aggiornamenti in uscita in modo sincrono. Se Execute è TRUE, il bit più a destra (bit 0 dell'elemento indirizzato da Src + SrcOffset) viene copiato nel bit Unload e tutti i bit nel vettore o all'esterno del vettore vengono spostati a destra di un bit. Length e limite di 16 bit vengono considerati tranne che per i tipi di dati BOOL. Il bit esterno viene quindi spostato sul bit 0 (Src + SrcOffset) del primo elemento.
Per le operazioni di testo intorno, impostare la posizione di BitAddr sull'ultima posizione del bit o sul bit Unload. Possibile utilizzo

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

141

Capitolo 7

Istruzioni binarie

dell'istruzione BSL, tracciare bottiglie in una linea di imbottigliamento dove ogni bit rappresenta una bottiglia.

Parametri Execute Scr SrcOffset
BitAddr Lunghezza
Finito Scarica Errore ErrorID

Tipo di parametro Ingresso Ingresso Ingresso
Ingresso Ingresso
Uscita Uscita Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL ANY_ELEMENTARY UINT
BOOL UINT
BOOL BOOL BOOL USINT

Abilitazione istruzioni. TRUE: fronte di salita rilevato, sposta il bit di una posizione a destra. FALSE: fronte di salita non rilevato, non attivare l'operazione BSR. L'indirizzo del (bit) Src da spostare. Tipi di dati supportati: BOOL, DWORD, INT, UINT, WORD, DINT e UDINT. · Vettori: Impostare Scr su un indirizzo a base variabile come: Source1, Source1[0] o Source1[1]. · Non vettori: Impostare Scr su un indirizzo variabile come Source1. Se SrcOffset è 0, iniziare dal primo elemento. · Vettori: Impostare SrcOffset su 0. Se impostato su Source1[0] o Source1[1], si verifica un
errore: "L'offset di origine supera le dimensioni dell'array.". · Non vettori: Impostare SrcOffset su 0; in caso contrario si verifica un errore: "L'offset di
origine supera le dimensioni dell'array.". Posizione del bit spostato in Src. Lunghezza contiene il numero di bit presenti in Src da spostare. Supporta lo spostamento tra elementi dell'array. · Per il tipo di dati BOOL, il numero di Booleani presenti nel vettore da spostare. · Per i tipi di dati a 16 e 32 bit, i bit vengono spostati in multipli di 16, ad esempio 16, 32 e 64. Se
Lunghezza non è un multiplo esatto di 16, il numero di bit spostati è il limite successivo di 16 bit. · Length si basa sulla dimensione del tipo di dati. Se si supera l'intervallo viene generato un errore con il seguente messaggio: "L'offset di origine supera le dimensioni del vettore". Valori Lunghezza: · BOOL: 1 · Parola da 16 bit: 1-16 · Parola da 32 bit: 1-32 · Parola da 64 bit: 1-64 Se TRUE, l'operazione è stata completata correttamente. Se FALSE, durante l'operazione è stata rilevata una condizione di errore. Bit spostato fuori dall'indirizzo Src.
Se si verifica un errore, Error viene impostato su true. Se si verifica un errore, ErrorID contiene il codice dell'errore.

142

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Codici di errore BSR

Codice errore

Descrizione errore

01

Dimensioni non supportate.

02

Tipo di dati non supportato.

03

La lunghezza dei bit supera 2048.

04

L'offset di origine supera la dimensione dell'array.

05

La lunghezza dei bit supera la dimensione dell'array.

07

Parametro non valido.

Capitolo 7

Istruzioni binarie

Esempio di programmazione a blocchi funzionali BSR

Esempio di diagramma ladder BSR

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

143

Capitolo 7

Istruzioni binarie

Esempio di testo strutturato BSR

Risultati

Vedere anche
Istruzioni binarie a pagina 135

NOT_MASK (maschera NOT bit-to-bit)

Maschera negazione numero intero bit-to-bit, inverte il valore di un parametro.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
144

Tipo di parametro Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della maschera negazione bit-to-bit.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

IN NOT_MASK ENO

Ingresso Uscita Uscita

Capitolo 7

Istruzioni binarie

DINT

Deve avere il formato Integer.

DINT

Negazione bit-to-bit su 32 bit di IN.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali NOT_MASK

Esempio di diagramma ladder NOT_MASK

Esempio di testo strutturato NOT_MASK
(* Equivalenza ST: *) result := NOT_MASK (16#1234); (* il risultato è 16#FFFF_EDCB *)
Risultati

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

145

Capitolo 7

Istruzioni binarie

Vedere anche
Istruzioni binarie a pagina 135

OR_MASK (maschera OR bit- Maschera OR numero intero bit-to-bit, abilita i bit.

to-bit)

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN MSK OR_MASK ENO

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della maschera per Integer OR bit-to-bit.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

DINT

Deve avere il formato Integer.

DINT

Deve avere il formato Integer.

DINT

Bit-to-bit logico OR tra IN e MSK.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali OR_MASK

146

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di diagramma ladder OR_MASK

Capitolo 7

Istruzioni binarie

Esempi di testo strutturato OR_MASK
(* Equivalenza ST: *) parity := OR_MASK (xvalue, 1); (* rende il valore sempre dispari *) result := OR_MASK (16#abc, 16#f0f); (* uguale a 16#fbf *)
Risultati

Vedere anche
Istruzioni binarie a pagina 135

ROL (rotazione a sinistra)

Effettua la rotazione dell'input di tipo DINT di NbR bit a sinistra circolarmente e riempie i bit a destra con i bit fatti ruotare.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

147

Capitolo 7

Istruzioni binarie

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN NbR ROL ENO

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della rotazione dei bit del valore Integer a sinistra.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

DINT

Valore integer.

DINT

Numero di rotazioni di 1 bit (in set [1..31]).

DINT

Valore con rotazione a sinistra. Quando NbR <= 0, non avviene alcuna modifica.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali ROL

Esempio di Diagramma ladder ROL

148

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di Testo strutturato ROL

Capitolo 7

Istruzioni binarie

(* Equivalenza ST: *) result := ROL (register, 1); (* registro = 2#0100_1101_0011_0101*) (* risultato = 2#1001_1010_0110_1010*)
Risultati

Vedere anche
Istruzioni binarie a pagina 135

ROR (rotazione a destra)

Effettua la rotazione dell'input di tipo DINT di NbR bit a destra circolarmente e riempie i bit a sinistra con i bit fatti ruotare.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

149

Capitolo 7

Istruzioni binarie

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN NbR ROR ENO

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della rotazione dei bit del valore Integer a destra.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

DINT

Qualsiasi valore intero.

DINT

Numero di rotazioni di 1 bit (in set [1..31]).

DINT

Valore ruotato a destra. Non vi sono effetti se NbR <= 0.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali ROR

Esempio di Diagramma ladder ROR

150

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di Testo strutturato ROR

Capitolo 7

Istruzioni binarie

(* Equivalenza ST: *) risultato := ROR (registro, 1); (* registro = 2#0100_1101_0011_0101 *) (* risultato = 2#1010_0110_1001_1010 *)
Risultati

SHL (spostamento a sinistra)

Vedere anche
Istruzioni binarie a pagina 135
Per gli integer a 32-bit, sposta gli integer a sinistra e inserisce 0 nel bit meno significativo. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

151

Capitolo 7

Istruzioni binarie

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN NbS SHL ENO

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: sposta gli integer a sinistra.

FALSE: non vi è alcun movimento integer.

Applicabile alle programmazioni in Ladder Diagram.

DINT

Qualsiasi valore intero.

DINT

Numero di spostamenti (shift) di 1 bit (in set [1..31]).

DINT

Valore spostato a sinistra. Non vi sono effetti se NbS <= 0. Se un valore di 0, sostituisce il bit meno

significativo.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali SHL

Esempio di Diagramma ladder SHL

152

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di Testo strutturato SHL

Capitolo 7

Istruzioni binarie

(* Equivalenza ST: *) risultato := SHL (registro,1); (* registro = 2#0100_1101_0011_0101 *) (* risultato = 2#1001_1010_0110_1010 *)
Risultati

Vedere anche
Istruzioni binarie a pagina 135
SHR (spostamento a destra) Sposta a destra i 32 bit di un intero e replica il bit più a sinistra (bit
significativo) per riempire i bit disponibili. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

153

Capitolo 7

Istruzioni binarie

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN NbS SHR ENO

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: sposta gli integer a destra.

FALSE: non vi è alcun movimento integer.

Applicabile alle programmazioni in Ladder Diagram.

DINT

Qualsiasi valore intero.

DINT

Numero di spostamenti (shift) di 1 bit (in set [1..31]).

DINT

Valore spostato a destra. Non vi sono effetti se NbS <= 0. Se un valore di 0, sostituisce il bit più

significativo.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali SHR

Esempio di Diagramma ladder SHR

154

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di Testo strutturato SHR

Capitolo 7

Istruzioni binarie

(* Equivalenza ST: *) result := SHR (register,1); (* registro = 2#1100_1101_0011_0101 *) (* risultato = 2#0110_0110_1001_1010 *)
Risultati

Vedere anche
Istruzioni binarie a pagina 135

XOR_MASK (maschera OR esclusivo)

Maschera OR intero esclusivo bit-to-bit, restituisce valori di bit invertiti.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

155

Capitolo 7

Istruzioni binarie

Parametro

Tipo di parametro

EN

Ingresso

Tipo di dati BOOL

IN

Ingresso

DINT

MSK

Ingresso

DINT

XOR_MASK

Uscita

DINT

ENO

Uscita

BOOL

Descrizione
Abilitazione istruzioni. TRUE: esegue il calcolo della maschera per OR bit-to-bit esclusivo FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram.
Deve avere il formato Integer.
Deve avere il formato Integer. Bit-to-bit logico OR esclusivo tra IN e MSK. Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali XOR_MASK

Esempio di diagramma ladder XOR_MASK

Esempio di testo strutturato XOR_MASK

(* Equivalenza ST: *) crc32 := XOR_MASK (prevcrc, nextc); result := XOR_MASK (16#012, 16#011); (* è uguale a 16#003 *)

156

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 7

Istruzioni binarie

Vedere anche
Istruzioni binarie a pagina 135

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

157

Istruzioni booleane

Capitolo 8

Funzione
MUX4B a pagina 175 MUX8B a pagina 172 TTABLE a pagina 169 Blocco funzione
F_TRIG a pagina 159 RS a pagina 163
R_TRIG a pagina 161 SR a pagina 167 Operatore
AND a pagina 165 NOT a pagina 166 XOR a pagina 166
OR a pagina 164

Utilizzare le istruzioni booleane per determinare un valore di uscita in base a un calcolo logico partendo dagli ingressi. Le uscite del modulo possono essere controllate direttamente dal programma oppure in modo indipendente dal modulo, utilizzando le istruzioni booleane.
Descrizione
Multiplexer tra quattro ingressi BOOL, restituisce un valore BOOL. Multiplexer tra otto ingressi BOOL, restituisce un valore BOOL. Fornisce il valore di uscita in base alla combinazione degli ingressi. Descrizione
Rileva un fronte di discesa di una variabile booleana.
Reset bistabile dominante (priorità massima durante la definizione del comportamento delle istruzioni). Rileva un fronte di salita di una variabile booleana. Impostazione bistabile dominante. Descrizione
Esegue un'operazione booleana AND tra due o più valori. Converte i valori booleani in valori negati. OR esclusivo booleano di due o più valori.
OR booleano di due o più valori.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

F_TRIG (rilevamento fronte di discesa)

Rileva un fronte di discesa di una variabile booleana. Il blocco F_TRIG imposta l'uscita Q per un ciclo quando l'ingresso CLK si attiva/disattiva da definito a risolto (per esempio, viene rilevato un fronte di discesa all'ingresso CLK).
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

159

Capitolo 8

Istruzioni booleane

Parametro

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

CLK

Ingresso

BOOL

Controlla l'ingresso per un fronte di discesa. Qualsiasi variabile booleana.

TRUE = nessun fronte di discesa rilevato.

FALSE = fronte di discesa rilevato sull'ingresso CLK; impostare l'uscita Q su TRUE.

Q

Uscita

BOOL

Indica lo stato dell'uscita Q.

TRUE = fronte di discesa rilevato; impostare l'uscita Q per un ciclo in più.

FALSE = nessuna modifica all'uscita Q.

Esempio di programmazione a blocchi funzionali F_TRIG

Esempio di diagramma ladder F_TRIG Esempio di testo strutturato F_TRIG

(* Equivalenza ST: F_TRIG1 è un'istanza del blocco F_TRIG *)
F_TRIG1(cmd); nb_edge := ANY_TO_DINT(F_TRIG1.Q) + nb_edge;

160

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 8

Istruzioni booleane

Vedere anche
Istruzioni booleane a pagina 159

R_TRIG (rilevatore fronte di salita)

Rileva un fronte di salita di una variabile booleana. Il blocco R_TRIG imposta l'uscita Q per un ciclo quando l'ingresso CLK si attiva/disattiva da risolto a definito (per esempio, viene rilevato un fronte di salita all'ingresso CLK).
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro CLK
Q

Tipo di parametro Ingresso
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Qualsiasi variabile booleana.

TRUE: fronte di salita rilevato, imposta Q su TRUE.

FALSE: nessun fronte di salita rilevato, imposta Q su FALSE.

BOOL

TRUE: quando CLK è TRUE.

FALSE: in tutti gli altri casi.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

161

Capitolo 8

Istruzioni booleane

Esempio di Programmazione a blocchi funzionali R_TRIG

Esempio di Diagramma ladder R_TRIG

Esempio di Testo strutturato R_TRIG

(* Equivalenza ST: R_TRIG1 è un'istanza del blocco R_TRIG *)
R_TRIG1(cmd); nb_edge := ANY_TO_DINT(R_TRIG1.Q) + nb_edge;
Risultati

Vedere anche
Istruzioni booleane a pagina 159

162

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

RS (reset/impostazione)

Capitolo 8

Istruzioni booleane

Ripristina o imposta bistabile dominante (priorità massima durante la definizione del comportamento delle istruzioni).

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro
SET RESET1 Q1

Tipo di parametro
Ingresso Ingresso Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

TRUE: imposta Q1 su TRUE.

BOOL

TRUE: esegue il reset di Q1 su FALSE (dominante).

BOOL

Stato memoria booleana.

Esempio di programmazione a blocchi funzionali RS

Esempio di Diagramma ladder RS Esempio di Testo strutturato RS

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

163

Capitolo 8

Istruzioni booleane

(* Equivalenza ST: RS1 è un'istanza del blocco RS *)
RS1(start_cmd, (stop_cmd OR alarm)); command := RS1.Q1;
Risultati

Vedere anche
Istruzioni booleane a pagina 159

OR

Esegue un'operazione OR logica di due o più valori booleani e restituisce il valore booleano True se almeno un ingresso è True,

altrimenti torna False.

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri
i1 i2 o1

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso Ingresso Uscita

BOOL

BOOL

BOOL

OR booleano dei termini di ingresso.

TRUE: quando uno o più ingressi sono TRUE.

FALSE: quando gli ingressi sono FALSE.

164

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

AND

Esempio di testo strutturato OR
(* Equivalenza ST: *)
bo10 := bi101 OR NOT (bi102); bo5 := (bi51 OR bi52) OR bi53;

Capitolo 8

Istruzioni booleane

Vedere anche
Istruzioni booleane a pagina 159

Esegue un'operazione booleana AND tra due o più valori.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri
i1 i2 o1

Tipo di parametro
Ingresso Ingresso Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Valore in tipo di dati Boolean.

BOOL

Valore in tipo di dati Boolean.

BOOL

Risultato dell'operazione booleana AND dei valori di ingresso.

Esempio di testo strutturato AND
(* Equivalenza ST: *)
bo10 := bi101 AND NOT (bi102); bo5 := (bi51 AND bi52) AND bi53;

Vedere anche
Istruzioni booleane a pagina 159

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

165

Capitolo 8

Istruzioni booleane

XOR (OR esclusivo)

Esegue un'operazione OR esclusiva tra due valori booleani.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri
i1 i2 o1

Tipo di parametro
Ingresso Ingresso Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

BOOL

BOOL

OR esclusivo booleano dei due termini di ingresso.

TRUE: quando uno o entrambi gli ingressi sono TRUE.

FALSE: quando entrambi gli ingressi sono FALSE.

Esempio di Testo strutturato XOR
(* Equivalenza ST: *)
bo10 := bi101 XOR NOT (bi102); bo5 := (bi51 XOR bi52) XOR bi53;

Vedere anche
Istruzioni booleane a pagina 159

NOT

Converte i valori booleani in valori negati.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

166

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri i1 o1

Tipo di parametro Ingresso Uscita

Tipo di dati BOOL BOOL

Descrizione
Qualsiasi valore Boolean o espressione complessa. TRUE quando IN è FALSE. FALSE quando IN è TRUE.

Capitolo 8

Istruzioni booleane

Esempio di Testo strutturato NOT
(* Equivalenza ST: *)
bo10 := NOT (bi101);

Vedere anche
Istruzioni booleane a pagina 159

SR (impostazione/reset)

Imposta un bistabile dominante.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro SET1
RESET Q1

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso
Ingresso Uscita

BOOL

TRUE: imposta Q1 su TRUE (dominante: priorità massima durante la definizione del

comportamento delle istruzioni)

BOOL

TRUE: esegue il reset di Q1 su FALSE.

BOOL

Stato memoria booleana.

TRUE: quando SET1 è TRUE. FALSE: quando RESET è TRUE.

Esempio bistabile dominante

Set1

Reset

Q1

0

0

0

0

0

1

0

1

0

0

1

1

1

0

0

Risultato Q1
0 1 0 0 1

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

167

Capitolo 8

Istruzioni booleane

1

0

1

1

1

1

1

1

0

1

1

1

Esempio di programmazione a blocchi funzionali SR

Esempio di Diagramma ladder SR Esempio di Testo strutturato SR

(* Equivalenza ST: SR1 è un'istanza del blocco SR *)
SR1((auto_mode & start_cmd), stop_cmd); command := SR1.Q1;

168

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 8

Istruzioni booleane

Vedere anche
Istruzioni booleane a pagina 159

TTABLE (tavola della verità)

Fornisce il valore di uscita in base alla combinazione degli ingressi.
Se il valore è 0xABCD e gli ingressi da In3 a In0 corrispondono al numero 7, TTABLE è il valore del bit 7 nella tabella (che è 1). Il bit meno significativo nella tabella è il bit 0.

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro
Tabella IN0 IN1 IN2 IN3 TTABLE

Tipo di parametro
Ingresso Ingresso Ingresso Ingresso Ingresso Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

UINT

Tabella valori veri per la funzione BOOLEAN.

BOOL

Qualsiasi valore di ingresso BOOL.

BOOL

Qualsiasi valore di ingresso BOOL.

BOOL

Qualsiasi valore di ingresso BOOL.

BOOL

Qualsiasi valore di ingresso BOOL.

BOOL

Il valore di uscita in base alle combinazioni degli ingressi.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

169

Capitolo 8

Istruzioni booleane

Combinazioni di ingressi TTABLE

L'istruzione TTABLE ha quattro ingressi, e pertanto 16 combinazioni. Tali combinazioni trovano posto in una tavola della verità: per ogni combinazione è possibile regolare il valore in uscita. Il numero di combinazioni configurabili dipende dal numero di ingressi collegati alla funzione.
Esempio di combinazione tavola della verità.

Numero

In3

In2

In1

In0

1

0

0

0

0

2

0

0

0

1

3

0

0

1

0

4

0

1

1

1

5

0

1

0

1

6

0

1

1

0

7

0

1

1

1

8

1

0

0

0

9

1

0

0

1

10

1

0

1

0

11

1

0

1

1

12

1

1

0

0

13

1

1

0

1

14

1

1

1

0

15

1

1

1

1

Esempio di programmazione a blocchi funzionali TTABLE

170

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di Diagramma ladder TTABLE

Capitolo 8

Istruzioni booleane

Esempio di Testo strutturato TTABLE Risultati

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

171

Capitolo 8

Istruzioni booleane

Vedere anche
Istruzioni booleane a pagina 159

MUX8B (multiplexer di ingressi BOOL 8)

Multiplexer tra otto ingressi BOOL, restituisce un valore BOOL.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro Selettore IN0 IN1 IN2 IN3 IN4 IN5
172

Tipo di parametro Ingresso Ingresso
Ingresso
Ingresso
Ingresso
Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

USINT

Il valore intero del selettore deve essere compreso nell'intervallo [0...7].

BOOL

Qualsiasi valore di ingresso BOOL.

TRUE: quando il selettore è 0.

FALSE: quando il selettore non è 0.

BOOL

Qualsiasi valore di ingresso BOOL.

TRUE: quando il selettore è 1.

FALSE: quando il selettore non è 1.

BOOL

Qualsiasi valore di ingresso BOOL.

TRUE: quando il selettore è 2.

FALSE: quando il selettore non è 2.

BOOL

Qualsiasi valore di ingresso BOOL.

TRUE: quando il selettore è 3.

FALSE: quando il selettore non è 3.

BOOL

Qualsiasi valore di ingresso BOOL.

TRUE: quando il selettore è 4.

FALSE: quando il selettore non è 4.

BOOL

Qualsiasi valore di ingresso BOOL.

TRUE: quando il selettore è 5.

FALSE: quando il selettore non è 5.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

IN6 IN7 MUX8B

Ingresso Ingresso Uscita

BOOL

Qualsiasi valore di ingresso BOOL.

TRUE: quando il selettore è 6.

FALSE: quando il selettore non è 6.

BOOL

Qualsiasi valore di ingresso BOOL.

TRUE: quando il selettore è 7.

FALSE: quando il selettore non è 7.

BOOL

TRUE: quando:

· In0 se selettore = 0

· In1 se selettore = 1

· In2 se selettore = 2

· In3 se selettore = 3

· In4 se selettore = 4

· In5 se selettore = 5

· In6 se selettore = 6

· In7 se selettore = 7

FALSE: per tutti gli altri valori del selettore.

Capitolo 8

Istruzioni booleane

Esempio di programmazione a blocchi funzionali MUX8B

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

173

Capitolo 8

Istruzioni booleane

Esempio di diagramma ladder MUX8B

Esempio di Testo strutturato MUX8B

(* Equivalenza ST: *) range := MUX8 (choice, 1, 5, 10, 50, 100, 500, 1000, 5000);

174

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 8

Istruzioni booleane

(* sceglie tra 8 intervalli predefiniti; ad esempio se choice è 3, range sarà 50 *)

Risultati

Vedere anche
Istruzioni booleane a pagina 159

MUX4B (multiplexer di ingressi BOOL 4)

Multiplexer tra quattro ingressi BOOL, restituisce un valore BOOL.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

175

Capitolo 8

Istruzioni booleane

Selettore IN0

Ingresso

USINT

Ingresso

BOOL

IN1

Ingresso

BOOL

IN2

Ingresso

BOOL

IN3

Ingresso

BOOL

MUX4B

Uscita

BOOL

Il valore intero del selettore deve essere compreso nell'intervallo [0...3]. Qualsiasi valore di ingresso BOOL. TRUE: quando il selettore è 0. FALSE: quando il selettore non è 0. Qualsiasi valore di ingresso BOOL. TRUE: quando il selettore è 1. FALSE: quando il selettore non è 1. Qualsiasi valore di ingresso BOOL. TRUE: quando il selettore è 2. FALSE: quando il selettore non è 2. Qualsiasi valore di ingresso BOOL. TRUE: quando il selettore è 3. FALSE: quando il selettore non è 3. TRUE: quando: · In0 se selettore = 0 · In1 se selettore = 1 · In2 se selettore = 2 · In3 se selettore = 3
FALSE: per tutti gli altri valori del selettore.

Esempio di programmazione a blocchi funzionali MUX4B

176

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di diagramma ladder MUX4B

Capitolo 8

Istruzioni booleane

Esempio di Testo strutturato MUX4B
(* Equivalenza ST: *) range := MUX4 (scelta, 1, 10, 100, 1000); (* sceglie tra 4 intervalli predefiniti; ad esempio se choice è 1, range sarà 10 *)

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

177

Capitolo 8

Istruzioni booleane

Risultati

Vedere anche
Istruzioni booleane a pagina 159

178

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzioni di comunicazione

Capitolo 9

Usare le istruzioni di comunicazione per leggere, scrivere, confrontare e convertire stringhe di comunicazione.

Blocco funzione

Descrizione

COM_IO_WDOG a pagina 179
MSG_CIPGENERIC a pagina 182 MSG_CIPSYMBOLIC a pagina 191 MSG_MODBUS a pagina 196 MSG_MODBUS2 a pagina 202

Monitora le comunicazioni con il controllore.
Invia un messaggio CIP generico esplicito. Invia un messaggio CIP Symbolic esplicito. Invia un messaggio Modbus. Invia un messaggio MODBUS/TCP su un canale Ethernet.

Vedere anche
Supporto per protocolli di comunicazione a pagina 240
Configurazione dei valori dei dati oggetto per i messaggi espliciti a pagina 215
Istruzione impostate in ordine alfabetico a pagina 18
Processi di esecuzione di messaggi e diagrammi di temporizzazione a pagina 208
Utilizzo dei blocchi funzione di comunicazione (messaggistica) a pagina 215

COM_IO_WDOG

Monitora i messaggi esterni agli ingressi e alle uscite del controllore. Ad esempio, se il comando di scrittura CIP alla variabile _IO_EM_DO_00 non viene ricevuto tramite EtherNet/IP nell'intervallo di timeout configurato, il timer watchdog scadrà e tutte le uscite delle controllore verranno ripristinate.
Sono supportati i protocolli EtherNet/IP, Modbus TCP e Modbus RTU.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator. È supportata solo con firmware versione 12.00 e successivi.
Nota: · sebbene ci siano diverse istanze per questa istruzione, solo una può essere abilitata. In caso
contrario, sarà generato un errore con ErrorID impostato su 2. · Sono supportati solo ingressi/uscite digitale integrati nel controllore, di plug-in e di espansione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

179

Capitolo 9

Istruzioni di comunicazione

Parametro Enable
OutputClr PT TimeOut ET Stato
Errore ErrorID

Tipo di parametro Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

TRUE: di seguito i tre casi della condizione TRUE.

1. Sul fronte di salita di TRUE, viene avviata l'esecuzione del blocco funzione. Il bit Stato è impostato su 0 e gli altri bit vengono cancellati. Verificare le condizioni di errore seguenti. Se non si verificano errori, procedere con il passaggio successivo.

· Se PresetValue è inferiore a un secondo, Error è impostato su TRUE ed ErrorID è impostato su 1, il bit Stato 4 è impostato, TimeOut ed ElapsedTime sono cancellati.

· Se il timer è già stato acquisito dall'altra istanza, Error è impostato su TRUE ed ErrorID è impostato su 2, il bit Stato 4 è impostato, TimeOut ed ElapsedTime sono cancellati.

2. PresetTime > ElapsedTime. Se Enable è impostato su TRUE e viene avviata l'esecuzione del blocco funzione. Verifica se vengono ricevuti i comandi. Se vengono ricevuti I comandi, eseguire il reset del timer immediatamente. Impostare ElapsedTime su 0 e impostare il bit Stato su 2. Gli altri bit vengono cancellati. Se non vengono ricevuti comandi, impostare il bit di stato e gli altri bit vengono cancellati.

3. PresetTime = ElapsedTime. Se Enable è impostato su TRUE e viene avviata l'esecuzione del blocco funzione. Verificare se vengano ricevuti i comandi. Se vengono ricevuti, ripristinare il timer immediatamente. Impostare ElapsedTime su 0 e impostare il bit di stato 2. Gli altri bit vengono cancellati. In caso contrario, imposta il bit TimeOut, imposta il bit di stato e gli altri bit vengono cancellati Impostare la variabile interna per cancellare le uscite digitali al termine della scansione se l'azione configurata è quella di eliminare tutte le uscite digitali al termine della scansione.

FALSE: l'istruzione non viene eseguita e le uscite del blocco funzione vengono cancellate.

BOOL

0: nessuna azione in caso di timeout.

1: cancella tutte le uscite digitali al termine della scansione (integrata, EXIO e UPM) in caso di timeout.

Ingresso

TIME

Uscita

BOOL

Uscita

TIME

Uscita

USINT

Uscita

BOOL

Uscita

USINT

Tempo di attesa prima del timeout. Il valore di un timeout non può essere inferiore a un secondo; in caso contrario si verificherà un errore. Il valore massimo per PresetTime può essere il valore massimo entro il tipo di dati TIME. TRUE: ElapsedTime è uguale a PresetTime. FALSE: Enable è impostato su FALSE, il timer non è trascorso o si è verificato un errore.
Il tempo trascorso. I valori possibili variano da 0 ms a 1193h2m47s294ms. Stato del blocco funzione. Bit 0: Enable Bit 1: timer in esecuzione, nessun ingresso o uscita ricevuti. Bit 2: comando ingresso o uscita ricevuto. Bit 3: timeout. Nessun comando di ingresso o uscita ricevuto. Bit 4: si è verificato un errore. Gli altri bit sono riservati. Indica che si è verificato un errore. Se si verifica un errore, ErrorID contiene il codice dell'errore.

180

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Codice errore COM_IO_WDOG

Codice ErrorID

Descrizione errore

1

PresetTime è inferiore a un secondo.

Istruzioni di comunicazione

2

Un'altra istanza del blocco funzione COM_IO_WDOG è già in

esecuzione.

Esempio di Programmazione a blocchi funzionali COM_IO_WDOG

Esempio di Diagramma ladder COM_IO_WDOG

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

181

Capitolo 9

Istruzioni di comunicazione
Esempio di Testo strutturato COM_IO_WDOG

Vedere anche
Istruzioni di comunicazione a pagina 179

MSG_CIPGENERIC

Invia un messaggio CIP (Common Industrial Protocol) esplicito tramite un canale Ethernet o una porta seriale.

(messaggio generico per

In una scansione è possibile elaborare un massimo di quattro richieste

Common Industrial Protocol) di messaggio per canale. Per le programmazioni in ladder diagram, le

richieste di messaggio sono eseguite al termine di una scansione

ladder.

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

182

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

IN

Ingresso

CtrlCfg AppCfg TargetCfg ReqData ReqLength ResData
Q

Ingresso Ingresso Ingresso Ingresso Ingresso Ingresso
Uscita

Stato ResLength

Uscita Uscita

BOOL
CIPCONTROLCFG CIPAPPCFG CIPTARGETCFG USINT[1..1] UINT USINT[1..1] BOOL
CIPSTATUS UINT

Capitolo 9

Istruzioni di comunicazione

Stato ingresso ramo. TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata. FALSE: fronte di salita non rilevato, non attivo. Configurazione per il controllo dell'esecuzione del blocco funzione. Utilizzare i parametri del tipo di dati CIPCONTROLCFG per definire CtrlCfg. Configurazione del servizio CIP e del percorso dell'applicazione (EPATH). Utilizzare i parametri del tipo di dati CIPAPPCFG per definire AppCfg. Configurazione del dispositivo di destinazione. Utilizzare i parametri del tipo di dati CIPTARGETCFG per definire TargetCfg. Dati della richiesta messaggio CIP. La dimensione del vettore non deve essere maggiore della dimensione ReqLength. Lunghezza dei dati della richiesta messaggio CIP: · 0 - 490 Dati della risposta messaggio CIP. La dimensione del vettore non deve essere maggiore della dimensione ReqLength. Quando un MSG è attivato o riattivato, i dati dell'array ResData vengono cancellati. Gli output di questa istruzione sono aggiornati in modo asincrono rispetto alla scansione del programma. L'output Q non è utilizzabile per riattivare l'istruzione, in quanto IN viene attivato sul fronte. TRUE: istruzione MSG terminata con successo. FALSE: istruzione MSG non terminata. Lo stato del blocco istruzione. Quando è attivato o riattivato un MSG, tutti gli elementi in Stato vengono ripristinati. L'uscita dello stato è definita nel tipo di dati CIPSTATUS. Lunghezza dei dati della risposta messaggio CIP: · 0 - 490 Quando un MSG è attivato o riattivato, ResLength viene ripristinato su 0.

Esempio di Programmazione a blocchi funzionali MSG_CIPGENERIC

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

183

Capitolo 9

Istruzioni di comunicazione
Esempio di Diagramma ladder MSG_CIPGENERIC

Esempio di Testo strutturato MSG_CIPGENERIC

Vedere anche
Tipo di dati CIPCONTROLCFG a pagina 185 Tipo di dati CIPAPPCFG a pagina 184 Tipo di dati CIPTARGETCFG a pagina 188 Tipo di dati CIPSTATUS a pagina 186 Esempio: Come creare un programma di generazione messaggi MSG_CIPGENERIC per leggere i dati da un controllore a pagina 217

Tipo di dati CIPAPPCFG
184

Utilizzare questa tabella per definire i parametri per il tipo di dati CIPAPPCFG.

Parametri

Tipo di dati

Descrizione

Servizio

USINT

Codice servizio: 1 ­ 127

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri Classe Istanza
Attributo MemberCnt MemberId

Tipo di dati UINT UDINT
UINT USINT UINT[3]

Capitolo 9

Istruzioni di comunicazione

Descrizione

Valore ID della classe del segmento logico: 1 ­ 65535 Valore ID dell'istanza del segmento logico: 0 ­ 4294967295

Valore ID dell'attributo del segmento logico: 1 - 65535, 0 - ID attributo non utilizzato Conteggio ID membri. Valori ID membro massimi utilizzati: 1 - 3, 0 - ID membro non utilizzato Valori ID membro: 0 - 65535

Vedere anche
MSG_CIPSYMBOLIC a pagina 191 MSG_CIPGENERIC a pagina 182

Tipo di dati CIPCONTROLCFG

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati CIPCONTROLCFG.

Parametri

Tipo di dati

Descrizione

Annulla

BOOL

TriggerType

USINT

StrMode

USINT

TRUE: annulla l'esecuzione del blocco funzione. Il bit è cancellato quando viene abilitato il messaggio. Se è impostato il parametro Cancel e il messaggio è abilitato (bit EN impostato) e non eseguito (bit DN non impostato), l'esecuzione del messaggio viene interrotta e viene impostato il bit ER. Rappresenta uno dei seguenti: · 0: Msg attivato una volta (quando IN passa da False a True) · Da 1 a 65535: valore attivazione ciclica in millisecondi. Msg è attivato periodicamente quando IN è True. Impostare il valore
su 1, per attivare MSG il più rapidamente possibile. Riservato per uso futuro.

Attivazione messaggio CIP

Un messaggio CIP può essere attivato periodicamente impostando il parametro TriggerType su un valore diverso da zero.
Utilizzare questa tabella per definire le azioni per il parametro Tipo di trigger.

Azione
Il messaggio è abilitato. Il tempo impostato nel timer attivazione è esaurito prima del completamento del messaggio. Il messaggio viene completato prima che si esaurisca il tempo impostato nel timer attivazione.

Risultati Il timer attivazione si attiva. Il messaggio è attivato immediatamente nel ciclo di scansione ladder successivo.
Il messaggio è attivato quando il tempo impostato nel timer attivazione è esaurito.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

185

Capitolo 9

Istruzioni di comunicazione
Esempio: attivazione messaggio
Nell'esempio seguente il valore TriggerType è impostato su 100.

Vedere anche
MSG_CIPSYMBOLIC a pagina 191 MSG_CIPGENERIC a pagina 182

Tipo di dati CIPSTATUS
Parametri Errore ErrorID SubErrorID
ExtErrorID StatusBits

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati CIPSTATUS.

Tipo di dati

Descrizione

BOOL

Questo bit è impostato su TRUE quando viene rilevata una condizione di errore durante

l'esecuzione del blocco funzione.

UINT

Valore codice di errore.

Gli ErrorID sono definiti nei codici di errore CIPSTATUS.

UINT

Valore codice di sottoerrore.

I SubErrorID sono definiti nei codici di errore CIPSTATUS.

UINT

Valore codice di errore per stato CIP esteso.

UINT

È possibile utilizzare questo parametro per verificare i bit di controllo:

· Bit 0: EN: abilitazione

· Bit 1: EW ­ Attesa abilitazione

· Bit 2: ST ­ Avvio

· Bit 3: ER ­ Errore

· Bit 4: DN ­ Eseguito

· Bit 5: CIPCONN - chiusura connessione CIP

· Bit 6: EIPSESS - chiusura sessione EIP

· Gli altri bit sono riservati

I StatusBits sono definiti per i bit di status CIPSTATUS.

Vedere anche
Codici di errore CIPSTATUS a pagina 187 Bit di stato CIPSTATUS a pagina 187 MSG_CIPSYMBOLIC a pagina 191 MSG_CIPGENERIC a pagina 182

186

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

Bit di stato CIPSTATUS

-

-

-

-

I bit di stato CIPSTATUS si impostano in base allo stato dell'esecuzione del messaggio, dei buffer di comunicazione e delle condizioni del piolo.

-

-

-

-

-

-

-

4

3

2

1

0

Bit

Nome

Descrizione Comportamento

0

EN

Enable

Impostato quando il piolo passa a True. Rimane impostato finché non viene impostato il bit DN o ER e il piolo passa a False.

1

EW

Enable Waiting Impostato quando il buffer di comunicazione è allocato per la richiesta di messaggio. Cancellato quando è impostato il bit ST.

2

ST

Start

Impostato quando il messaggio è stato trasmesso ed è in attesa di una risposta. Cancellato quando è impostato il bit DN.

3

ER

Errore

Impostato quando la trasmissione del messaggio non riesce. Viene scritto un codice di errore in ErrorID. Il bit ER e i valori del codice di errore sono cancellati al successivo passaggio del piolo da False a True.

4

DN

Done

Impostato quando il messaggio viene trasmesso correttamente. Il bit DN è cancellato al successivo passaggio del piolo da False a True.

Quando è impostato il bit Done, tutti gli altri bit vengono cancellati, a indicazione del corretto completamento del MSG. Quando viene rilevato un errore ed è impostato il bit Error, gli altri bit di stato (EN/EW/ST) non vengono cancellati.

5

CIPCONN

Done

Impostare quando la connessione CIP per la comunicazione viene terminata. Il bit CIPCONN è applicabile quando ConnClose è True, per gli altri casi il bit CIPCONN è False. Il bit CIPCONN viene usato anche per Seriale, Ethernet e USB.

6

EIPSESS

Done

Impostare quando la sessione incapsulamento CIP per la comunicazione viene terminata. Il bit EIPSESS è applicabile quando ConnClose è True, per gli altri casi il bit EIPSESS è False. Questo bit è utilizzato solo per Ethernet.

Vedere anche

Codici di errore CIPSTATUS

Tipo di dati CIPSTATUS a pagina 186
Utilizzare questa tabella per determinare i valori dei parametri per i campi ErrorID e SubErrorID del parametro CIPSTATUS quando è impostato il bit ER.

Codice SubErrorID ErrorID

Descrizione codice di errore

33

Errori relativi alla configurazione del parametro

32

Numero canale errato.

36

Tipo di connessione CIP non supportato.

40

Tipo di dati CIP simbolico non supportato.

41

Nome CIP simbolico non valido.

43

Valore classe CIP o conteggio MemberID non valido.

48

La dimensione dell'array per i dati di ingresso del blocco di istruzioni non è sufficiente.

49

Percorso di destinazione non valido.

50

Codice servizio errato.

51

La dimensione dell'array per i dati di trasmissione del blocco di istruzioni è troppo grande per la comunicazione CIP.

la lunghezza massima dei dati utente da trasmettere varia in base alle diverse configurazioni del messaggio. Se il payload totale

del messaggio CIP (compresi i dati utente e il sovraccarico del messaggio CIP) supera i 504 byte, viene generato un errore 0x21

(subError 0x33).

52

Valore del tipo di segmento non valido.

53

Valore di timeout UCCM errato.

Se il valore di timeout incapsulamento è inferiore al timeout UCCM o la differenza tra timeout incapsulamento e timeout UCCM è

minore o uguale a un secondo, viene generato un errore 0x21 (subError 0x35).

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

187

Capitolo 9

Istruzioni di comunicazione

Codice SubErrorID ErrorID

Descrizione codice di errore

54

Valore di timeout connesso non valido.

Se il valore di timeout incapsulamento è inferiore a quello del timeout del messaggio CONNESSO o la differenza tra il timeout di

incapsulamento e il timeout del messaggio CONNESSO è minore o uguale a un secondo, viene segnalato un errore 0x21 (subError

0x36).

55

Errori relativi al timeout

112

Timeout del messaggio durante l'attesa nella rispettiva coda.

113

Timeout del messaggio durante l'attesa della connessione al livello del collegamento.

114

Timeout del messaggio durante l'attesa della trasmissione al livello del collegamento.

115

Timeout del messaggio durante l'attesa della risposta dal livello del collegamento.

69

Codici degli errori relativi al formato di risposta del server

65

La risposta al messaggio non corrisponde alla richiesta.

68

Tipo di dati della risposta al messaggio non valido/supportato. (MSG_CIPSYMBOLIC).

208

Nessun indirizzo IP configurato per la rete.

209

Numero massimo di connessioni utilizzate. Nessuna connessione disponibile.

210

Indirizzo Internet o del nodo non valido.

217

Esecuzione del messaggio annullata dall'utente. (Il parametro Cancel era impostato su TRUE.)

218

Spazio buffer di rete non disponibile.

222

Riservato.

223

L'indirizzo del collegamento non è disponibile. È in corso una modifica alla configurazione TCP/IP o Ethernet.

224

Codice di errore della risposta CIP. SubErrorID specifica lo stato del CIP, mentre ExtErrorID specifica il valore dello stato esteso del CIP. Fare riferimento

alla specifica del CIP per i valori dei codici dei possibili errori.

255

Il canale è in arresto oppure è in corso una riconfigurazione. Un codice di errore viene generato immediatamente dopo l'accensione, finché non si

stabilisce una connessione. Si tratta di un comportamento normale.

Potrebbe verificarsi anche nelle seguenti situazioni:

· Un cavo Ethernet è scollegato

· Un indirizzo IP non può essere individuato

· È presente un plug-in della porta seriale, ma non configurato

Vedere anche
Tipo di dati CIPSTATUS a pagina 186

Tipo di dati CIPTARGETCFG
Parametri Percorso
CipConnMode

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati CIPTARGETCFG.

Tipo di dati STRING[80]
USINT

Descrizione Percorso della destinazione. È possibile specificare massimo due hop. La sintassi del percorso è: · {"<porta>,<indirizzo nodo/slot>"}2 Tipo di connessione CIP. · 0 - Non connesso (impostazione predefinita) · 1 - Connessione Class3

188

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri UcmmTimeout

Tipo di dati UDINT

Capitolo 9

Istruzioni di comunicazione

Descrizione Timeout messaggio non connesso (in millisecondi). Il tempo di attesa di una risposta per i messaggi non connessi, inclusa l'esecuzione di una connessione per i messaggi non connessi. · Valori validi: 250-10.000 ms. · Impostare su 0 per utilizzare il valore predefinito 3.000 (3 secondi). · Per i valori minori di 250 ms, verrà impostato il valore 250 ms (minimo). · Per i valori maggiori di 10.000 ms, verrà impostato il valore 10.000 (massimo).

ConnMsgTimeout

UDINT

Timeout connessione Class3 (in millisecondi). Il tempo di attesa di una risposta per i messaggi connessi. La connessione si interrompe una volta trascorso il tempo di timeout. · Valori validi: 800-10.000 ms. · Impostare su 0 per utilizzare il valore predefinito 10.000 (10 secondi). · Per i valori minori di 800, verrà impostato il valore 800 ms (minimo). · Per i valori maggiori di 10.000 ms, verrà impostato il valore 10.000 (massimo).

ConnClose

BOOL

Comportamento alla chiusura della connessione:

· TRUE - Chiusura della connessione al completamento del messaggio.

· FALSE - Nessuna chiusura della connessione al completamento del messaggio

(impostazione predefinita).

Vedere anche
Connessioni per messaggio CIP/EIP a pagina 190 Timer per timeout messaggio CIP a pagina 191 MSG_CIPSYMBOLIC a pagina 191 MSG_CIPGENERIC a pagina 182 Percorso di destinazione per la messaggistica CIP a pagina 189

Percorso di destinazione per

Il percorso di destinazione per la messaggistica CIP contiene i parametri che determinano il percorso e la destinazione del messaggio

la messaggistica CIP

CIP.

Il parametro della stringa relativa al percorso di destinazione usa la seguente sintassi:

· "<porta locale>, <indirizzo prima destinazione>, [<porta locale prima destinazione>, <indirizzo seconda destinazione>]"

Il primo hop deve essere presente, il secondo è facoltativo.

Elemento della stringa Porta locale
Indirizzo prima destinazione

Descrizione
Porta locale utilizzata per inviare il messaggio. La porta deve essere una porta seriale CIP o EtherNet/IP attiva. Le porte USB non sono supportate. Indirizzo di destinazione del primo hop. · Come EIP, specificare l'indirizzo IP di destinazione. L'indirizzo IP deve essere un
indirizzo unicast e non un indirizzo con valore 0, multicast, broadcast, locale o loopback (127.x.x.x). · Come CIP seriale, specificare l'indirizzo del nodo di destinazione. Il valore supportato è 1.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

189

Capitolo 9

Istruzioni di comunicazione

Porta locale della prima destinazione Porta locale utilizzata per inviare il messaggio.

Indirizzo seconda destinazione

Indirizzo di destinazione del secondo hop.

Esempio di percorso di destinazione

Nella seguente tabella sono elencati valori di esempio utilizzati in una stringa di percorso di destinazione, accanto a una descrizione dei risultati relativi a ciascuna stringa.

Elemento della stringa "0,0" "6,1" "4,192.168.1.100"
"4,192.168.1.100,1,0"

Descrizione
Il dispositivo di destinazione è il dispositivo locale.
Tramite la porta 6 (porta seriale UPM del Micro830) raggiunto il nodo su 1.
Tramite la porta 4 (porta Ethernet integrata del Micro850) raggiunto il nodo all'indirizzo 192.168.1.100. Tramite la porta 4 (porta Ethernet integrata del Micro850) raggiunto il nodo all'indirizzo 192.168.0.100 (modulo Logix ENET). Dal modulo ENET tramite la porta backplane (porta 1) raggiunto il controllore Logix allo slot 0.

Vedere anche

Connessioni per messaggio CIP/EIP

Tipo di dati CIPTARGETCFG a pagina 188
Per l'esecuzione del messaggio client sono supportate massimo 16 connessioni CIP (classe 3) e 16 connessioni EIP. Nella seguente tabella è illustrato il comportamento della connessione CIP/EIP.

Scenario La richiesta messaggio è abilitata e CipConnMode=1.

Risultati
Se non esiste una connessione alla destinazione, viene stabilita una connessione CIP. Se esiste già una connessione alla destinazione, viene utilizzata la connessione CIP esistente.

La richiesta messaggio è abilitata, CipConnMode=1 e la porta locale Se non esiste una connessione EIP alla destinazione, prima di una

del messaggio è Ethernet.

connessione CIP viene stabilita una connessione EIP.

La richiesta messaggio è abilitata, CipConnMode=0 e la porta locale Se non esiste una connessione EIP alla destinazione, viene stabilita una

del messaggio è Ethernet.

connessione EIP.

L'esecuzione del messaggio è completata e ConnClose è impostato Se è presente solo una connessione alla destinazione, la connessione viene

su True.

terminata.

Se sono presenti più connessioni alla destinazione, la connessione viene terminata al completamento dell'esecuzione dell'ultimo messaggio.

Al termine di una connessione CIP, viene terminata anche qualsiasi

connessione EIP associata.

Se più connessioni CIP usano la stessa connessione EIP, la connessione EIP

viene terminata successivamente a tutte le connessioni CIP associate.

Quando ConnClose è true, la connessione di messaggio e sessione Se messaggi condividono la stessa connessione, la connessione viene

EIP viene terminata al completamento dell'esecuzione del

terminata al completamento dell'ultimo messaggio.

messaggio.

Una connessione CIP o EIP che non è associata a qualsiasi

Vedere Oggetti CIP specifica Volume II TCP/IP per ulteriori informazioni

messaggio attivo, viene terminata se è inattiva per x secondi.

relative al servizio CIP impostato.

Dove x è un valore di Timeout dell'inattività di incapsulamento configurabile che può essere impostato mediante il servizio CIP impostato.

L'esecuzione del messaggio è completata e ConnClose è impostato La connessione non viene terminata.

su False.

190

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Scenario
La connessione non è associata a un messaggio attivo e rimane inattiva per l'intervallo di tempo specificato nel parametro ConnTimeOut.
Il controllore passa da una modalità di esecuzione (Esecuzione, Esecuzione remota, Scansione singola remota di test e piolo singolo remoto) a una di non esecuzione.

Capitolo 9
Risultati La connessione viene terminata.

Istruzioni di comunicazione

Per tutte le connessioni attive viene forzata la chiusura.

Vedere anche
Tipo di dati CIPTARGETCFG a pagina 188

Timer per timeout messaggio CIP

Nella seguente tabella è descritto il comportamento dei timer per parametri CIPTARGETCFG timeout (UcmmTimeout e ConnMsgTimeout) in base alle richieste e allo stato del messaggio.

Azione Il messaggio è abilitato.

Risultati Il timer UcmmTimeout è attivato

È richiesta la connessione

Il timer ConnMsgTimeout è attivato

Il timer ConnMsgTimeout è attivo La richiesta di connessione è completata

Il timer UcmmTimeout è disabilitato Il timer UcmmTimeout è riattivato

Vedere anche
Tipo di dati CIPTARGETCFG a pagina 188

MSG_CIPSYMBOLIC

Invia un messaggio CIP (Common Industrial Protocol) simbolico tramite

un canale Ethernet o una porta seriale.

(messaggio simbolico per

Lingue supportate: Programmazione a blocchi funzionali, Diagramma

Common Industrial Protocol) ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

191

Capitolo 9

Istruzioni di comunicazione
Operazione MSG_CIPSYMBOLIC
Quando è abilitato il blocco funzione, i buffer di ricezione per le operazioni di lettura vengono cancellati sul fronte di salita di Enable.

Parametri IN
CtrlCfg SymbolicCfg TargetCfg Dati Q
Stato DataLength

Tipo di parametro Ingresso

Argomenti
Tipo di dati BOOL

Ingresso Ingresso Ingresso Ingresso
Uscita

CIPCONTROLCFG CIPSYMBOLICCFG CIPTARGETCFG USINT[490]
BOOL

Uscita Uscita

CIPSTATUS UDINT

Descrizione
Stato ingresso ramo. TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata. FALSE: fronte di salita non rilevato, non attivo. Configurazione per il controllo dell'esecuzione del blocco funzione. Utilizzare i parametri del tipo di dati CIPCONTROLCFG per definire CtrlCfg. Informazioni di lettura e scrittura per il simbolo.
Configurazione del dispositivo di destinazione. Utilizzare i parametri del tipo di dati CIPTARGETCFG per definire TargetCfg. Il comando di lettura memorizza i dati restituiti dal server. Il comando di scrittura inserisce nel buffer i dati da inviare al server. Quando un MSG è attivato o riattivato, Data viene cancellato per il comando Lettura MSG. Gli output di questa istruzione sono aggiornati in modo asincrono rispetto alla scansione del programma. L'output Q non è utilizzabile per riattivare l'istruzione, in quanto IN viene attivato sul fronte. TRUE: istruzione MSG terminata con successo. FALSE: istruzione MSG non terminata. Stato esecuzione blocco funzione Quando è attivato o riattivato un MSG, tutti gli elementi in Stato vengono ripristinati. L'uscita dello stato è definita nel tipo di dati CIPSTATUS. Numero di byte dati per servizio Lettura. Per servizio Scrittura il numero è 0. Quando un MSG è attivato o riattivato, DataLength viene ripristinato su 0 per il comando Lettura MSG.

Esempio di Programmazione a blocchi funzionali MSG_CIPSYMBOLIC

192

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

Esempio di Diagramma ladder MSG_CIPSYMBOLIC

Esempio di Testo strutturato MSG_CIPSYMBOLIC

Vedere anche
Tipo di dati CIPCONTROLCFG a pagina 185 Tipo di dati CIPTARGETCFG a pagina 188 Tipo di dati CIPSYMBOLICCFG a pagina 193 Istruzioni di comunicazione a pagina 179 Esempio: Come creare un programma di generazione messaggi MSG_CIPSYMBOLIC per scrivere i dati in un controllore a pagina 226

Tipo di dati CIPSYMBOLICCFG

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati CIPSYMBOLICCFG.

Parametri Servizio
Simbolo

Tipo di dati USINT
STRING

Descrizione Codice servizio: · 0 - Lettura (impostazione predefinita) · 1 - Scrittura Nome della variabile per lettura/scrittura. · Massimo 80 caratteri. · Il campo non può essere vuoto. Sintassi dei simboli definita nella sintassi di scrittura/lettura dei messaggi simbolici.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

193

Capitolo 9

Istruzioni di comunicazione

Count

UINT

Tipo

Definito dall'utente

Offset

USINT

Riservato per uso futuro.

Numero degli elementi della variabile per lettura/scrittura: · Valori validi: 1 - 490 · 1 è utilizzato se il valore è impostato su 0. Tipo di dati definito dall'utente per la variabile di destinazione. Tipo definito nel supporto del tipo di dati simbolico. Riservato per uso futuro. Un offset dei byte della variabile Lettura/Scrittura usata per leggere/scrivere una variabile di grandi dimensioni che non è possibile elaborare in un messaggio. · 0 ­ 0xFF

Tipo di dati
BOOL
SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL STRING

Supporto per il tipo di dati simbolico

Utilizzare questa tabella per determinare i tipi di dati supportati da MSG_CIPSYMBOLIC.

Valore (esadecimale) del tipo Descrizione di dati

193 (0xC1)
194 (0xC2) 195 (0xC3) 196 (0xC4) 197 (0xC5) 198 (0xC6) 199 (0xC7) 200 (0xC8) 201 (0xC9) 202 (0xCA) 203 (0xCB) 218 (0xDA)

Booleano logico con valori TRUE (1) e FALSE (0).
Valore intero con segno a 8 bit Valore intero con segno a 16 bit Valore intero con segno a 32 bit Valore intero con segno a 64 bit Valore intero senza segno a 8 bit Valore intero senza segno a 16 bit Valore intero senza segno a 32 bit Valore intero senza segno a 64 bit Valore virgola mobile a 32 bit Valore virgola mobile a 64 bit Stringa di caratteri

Vedere anche
MSG_CIPSYMBOLIC a pagina 191 Sintassi scrittura/lettura dei messaggi simbolici a pagina 194

Sintassi scrittura/lettura dei La sintassi definisce le combinazioni di simboli di un blocco istruzione
di lettura/scrittura valido.
messaggi simbolici

Nomi validi simbolo
Per essere valido, il nome di ogni simbolo deve soddisfare i requisiti descritti di seguito.
· Deve iniziare con una lettera o un carattere di sottolineatura, seguito da lettere, cifre o caratteri di sottolineatura singoli.
· Deve essere composto da un massimo di 40 caratteri. · Non può contenere due caratteri di sottolineatura consecutivi.

194

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Simbolo Variabile Array
Struttura

Capitolo 9

Istruzioni di comunicazione

· Deve contenere i caratteri speciali [ ] . , come separatori.

Sintassi dei simboli

Utilizzare questa tabella per definire la sintassi valida per i simboli. sono supportate solo le variabili globali.

Sintassi PROGRAM:<nome programma>,<nome simbolo> <nome simbolo>[dim3, dim2, dim1] (la dimensione massima supportata è 3).
<nome simbolo>.<nome simbolo del campo struttura>

Esempio
PROGRAM:POU1.MyTag MyTag1[0] MyTag2[3,6] MyTag3[1,0,4] MyTag4.time.year MyTag5.local.time[1].year

Vedere anche
MSG_CIPSYMBOLIC a pagina 191 Tipo di dati CIPSYMBOLICCFG a pagina 193

Dimensione pacchetto dati supportata per la funzione CIP seriale

Per i controllori Micro830, Micro850 e Micro870, la porta seriale integrata e le porte seriali plug-in supportano la comunicazione CIP seriale. Il pacchetto dati di comunicazione CIP seriale include dati utente e intestazione del pacchetto CIP.
Durante l'uso come client CIP seriale, le porte seriali Micro830/Micro850 possono supportare un massimo di 490 byte di dati utente in lettura/scrittura. Questa specifica massima riguarda i pacchetti dati CIP seriale con una dimensione minima dell'intestazione del pacchetto. Se la dimensione dell'intestazione del pacchetto è maggiore della dimensione minima per l'intestazione del pacchetto, la dimensione massima dei dati utente supportabile dal client CIP è inferiore a 490 byte. Se la dimensione del pacchetto dati è maggiore della dimensione massima dei dati supportata dal client CIP, il blocco funzione segnala un errore (0x21) e un errore secondario (0x33).
Durante l'uso come server CIP seriale, le porte seriali Micro830, Micro850 e Micro870 possono supportare un minimo di 255 byte di dati utente in lettura/scrittura. Questa specifica per la dimensione dei dati utente minima riguarda i pacchetti dati CIP seriale con una dimensione massima dell'intestazione del pacchetto. Se la dimensione dell'intestazione del pacchetto CIP è minore della dimensione massima per l'intestazione del pacchetto, il client CIP può supportare dimensioni del pacchetto dati maggiori della specifica minima (ovvero, maggiori di 255 byte). Tuttavia, se la dimensione dei dati utente è maggiore della dimensione massima dei dati supportata dalla funzione del server CIP, il pacchetto dati CIP può essere scartato e il client va in timeout.
IMPORTANTE Per la funzione server CIP seriale, si consiglia di non effettuare operazioni in lettura/scrittura per più di 255 byte per i dati utente in un singolo messaggio CIP.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

195

Capitolo 9

Istruzioni di comunicazione
Vedere anche
MSG_CIPSYMBOLIC a pagina 191

MSG_MODBUS (messaggio modbus)

Invia un messaggio Modbus tramite una porta seriale.
Dettagli operazione:
· In una scansione è possibile elaborare un massimo di quattro richieste di messaggio per canale. Per le programmazioni in ladder diagram, le richieste di messaggio sono eseguite al termine di una scansione ladder.
· quando un trigger è impostato su continuo, anche i codici di errore saranno cancellati in modo continuo. Per visualizzare i codici di errore, aggiungere un piolo prima dell'istruzione MSG_MODBUS.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870.

Parametro IN
Annulla LocalCfg TargetCfg LocalAddr

Tipo di parametro Ingresso
Ingresso
Ingresso Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL MODBUSLOCPARA MODBUSTARPARA MODBUSLOCADDR

Stato ingresso ramo. TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata. FALSE: fronte di salita non rilevato, non avviato. TRUE: annulla l'esecuzione del blocco funzione. FALSE: quando IN è TRUE. Input Annulla dominante. Definisce l'ingresso struttura (dispositivo locale). Definire la struttura d'ingresso per il dispositivo locale utilizzando il tipo di dati MODBUSLOCPARA. Definisce l'ingresso struttura (dispositivo locale). Definire la struttura d'ingresso per il dispositivo di destinazione utilizzando il tipo di dati MODBUSTARPARA. MODBUSLOCADDR è un array di 125 parole usato dai comandi di lettura per archiviare i dati (da 1 a 125 parole) restituiti dal Modbus slave e dai comandi di scrittura per inserire i dati nel buffer (da 1 a 125 parole) da inviare al Modbus slave.

196

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Q

Uscita

BOOL

Errore

Uscita

BOOL

ErrorID

Uscita

UINT

Capitolo 9

Istruzioni di comunicazione

Gli output di questa istruzione sono aggiornati in modo asincrono rispetto alla scansione del programma. L'output Q non è utilizzabile per riattivare l'istruzione, in quanto IN viene attivato sul fronte. TRUE: istruzione MSG terminata con successo. FALSE: istruzione MSG non terminata.

Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti nei codici di errore MSG_MODBUS.

Codici di errore MSG_MODBUS

La tabella seguente descrive i codici di errore per MSG_MODBUS.

Codice errore Descrizione errore

3

Il valore di TriggerType è stato modificato da 2 - 255.

20

Il driver di comunicazione locale non è compatibile con l'istruzione MSG.

21

Si è verificato un errore del parametro di configurazione canale locale.

22

L'indirizzo del ponte locale o di destinazione è maggiore dell'indirizzo massimo di nodo.

33

Parametro del file MSG non valido.

54

Modem non trovato.

55

Timeout del messaggio nel processore locale. Timeout del livello di collegamento.

217

L'utente ha cancellato il messaggio.

129

Funzione non valida.

130

Indirizzo dati non valido.

131

Valore dati non valido.

132

Guasto nel dispositivo slave.

133

Conferma.

134

Il dispositivo slave è occupato.

135

Conferma negativa.

136

Errore di parità in memoria.

137

Risposta non standard.

255

Il canale è stato spento.

Esempio di Programmazione a blocchi funzionali MSG_MODBUS

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

197

Capitolo 9

Istruzioni di comunicazione
Esempio di Diagramma ladder MSG_MODBUS

Esempio di Testo strutturato MSG_MODBUS

Vedere anche
Istruzioni di comunicazione a pagina 179 Esempio: Come configurare una comunicazione Modbus per la lettura da e la scrittura in una unità a pagina 236 Processi di esecuzione di messaggi e diagrammi di temporizzazione a pagina 208 Tipo di dati MODBUSTARPARA a pagina 202 Tipo di dati MODBUSLOCPARA a pagina 198

Tipo di dati MODBUSLOCPARA

Utilizzare questa tabella per determinare i valori dei parametri per il tipo di dati MODBUSLOCPARA.

198

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri Canale TriggerType Cmd
ElementCnt

Tipo di dati UINT

Descrizione

Capitolo 9

Numero porta seriale PLC Micro800: · 2 per la porta seriale integrata o · 5-9 per i plug-in della porta seriale installati negli slot da 1 a · 5 per lo slot 1 · 6 per lo slot 2 · 7 per lo slot 3 · 8 per lo slot 4 · 9 per lo slot 5

Istruzioni di comunicazione

USINT

Rappresenta uno dei seguenti:

· 0: Msg attivato una volta (quando IN passa da False a True)

· 1: Msg attivato di continuo quando IN è True

· Altro valore: Riservato

USINT

Rappresenta uno dei seguenti:

· 01: lettura stato della bobina (0xxxx)

· 02: lettura stato ingresso (1xxxx)

· 03: lettura registri di mantenimento (4xxxx)

· 04: lettura registri ingresso (3xxxx)

· 05: scrittura bobina singola (0xxxx)

· 06: scrittura registro singolo (4xxxx)

· 15: scrittura bobine multiple (0xxxx)

· 16: scrittura registri multipli (4xxxx)

· Altri: Supporto del comando personalizzato.

Supporto del comando personalizzato MODBUSLOCPARA:

Sono supportati anche i comandi personalizzati nell'intervallo 0-255 e non ancora assegnati al comando Modbus. Se viene usato un comando personalizzato, LocalCfg:ElementCnt conterrà il numero dei byte ricevuti.

La risposta sarà ricevuta in Local Address Data e sovrascriverà i dati richiesti.

· Esempio per CMD=0x2B

· Local Address Data 1:0x0E, READ_DEVICE_ID_MEI

· Local Address Data 2:0x01, READ_DEV_ID_BASIC

· Local Address Data 3:0x00, Read Vendor Object

UINT

Limiti

· Per ingressi Lettura bobina/Discreto: 2000 bit

· Per Lettura registro: 125 parole

· Per Scrittura bobina: 1968 bit

· Per Scrittura registro: 123 parole

Attivazione messaggio MSG_MODBUS

Un messaggio Modbus può essere attivato periodicamente impostando il parametro TriggerType su un valore diverso da zero.
La tabella seguente descrive il funzionamento del parametro tipo di trigger quando utilizzato con il blocco funzione MSG_MODBUS.

Azione Il messaggio è abilitato.
Il tempo impostato nel timer attivazione è esaurito prima del completamento del messaggio. Il messaggio viene completato prima che si esaurisca il tempo impostato nel timer attivazione.

Risultati Il timer attivazione si attiva.
Il messaggio è attivato immediatamente nel ciclo di scansione ladder successivo. Il messaggio è attivato quando il tempo impostato nel timer attivazione è esaurito.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

199

Capitolo 9

Istruzioni di comunicazione
Esempio: attivazione messaggio
Nell'esempio seguente il valore TriggerType è impostato su 100.

Vedere anche
MSG_MODBUS a pagina 196
Processo di esecuzione del messaggio (Rung = TRUE)

200

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

Nel seguente diagramma dei processi sono descritti gli eventi relativi alle istruzioni dei messaggi che si verificano quando la condizione Rung è True.

Coda Com: le richieste di messaggio aggiunte alla coda Com hanno un buffer allocato ed elaborato dall'attività di comunicazione. Il limite massimo per la coda è 4.
Coda Attesa: i messaggi che non è possibile aggiungere alla coda Com sono aggiunti alla coda Attesa per la successiva elaborazione. Per la coda Attesa non è previsto un limite di dimensione massimo.

Vedere anche
Processi di esecuzione di messaggi e diagrammi di temporizzazione a pagina 208 Istruzioni di comunicazione a pagina 179 MSG_MODBUS a pagina 196

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

201

Capitolo 9

Istruzioni di comunicazione

Tipo di dati MODBUSTARPARA

Nella tabella seguente è descritto il tipo di dati MODBUSTARPARA.

Parametri
Addr Node

Tipo di dati
UDINT USINT

Descrizione
Indirizzo dati destinazione (1 - 65536). Diminuisce di uno durante l'invio. Il valore predefinito per l'indirizzo del nodo slave è 1. L'intervallo è 1 - 247. Zero è l'indirizzo di trasmissione Modbus ed è valido solo per comandi di scrittura Modbus (ad esempio, 5, 6, 15 e 16).

Vedere anche
MSG_MODBUS a pagina 196

MSG_MODBUS2 (messaggio MODBUS/TCP)

Invia un messaggio MODBUS/TCP su un canale Ethernet.
Dettagli operazione:
· In una scansione è possibile elaborare un massimo di quattro richieste di messaggio per canale. Per le programmazioni in ladder diagram, le richieste di messaggio sono eseguite al termine di una scansione ladder.
· Quando MSG_MODBUS2 è abilitato, i buffer di ricezione per le operazioni di lettura vengono cancellati sul fronte di salita di Enable.
· Annullando l'esecuzione dell'istruzione MSG_MODBUS2 non è garantito che la richiesta di messaggio in uscita venga cancellata, ma la risposta non sarà elaborata.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870.

Parametro IN
202

Tipo di parametro Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Stato ingresso ramo.

TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima

operazione sia stata completata.

FALSE: fronte di salita non rilevato, non attivo.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Annulla

Ingresso

LocalCfg

Ingresso

TargetCfg

Ingresso

LocalAddr

Ingresso

Q

Uscita

Errore

Uscita

ErrorID SuberrorID

Uscita Uscita

StatusBits

Uscita

BOOL MODBUS2LOCPARA MODBUS2TARPARA MODBUSLOCADDR BOOL BOOL UINT UINT
UINT

Capitolo 9

Istruzioni di comunicazione

TRUE: annulla l'esecuzione del blocco funzione. Annullando l'esecuzione dell'istruzione MSG_MODBUS2 non è garantito che la richiesta di messaggio in uscita venga cancellata, ma la risposta non sarà elaborata. FALSE: quando IN è TRUE. Input Annulla dominante.
Definisce l'ingresso della struttura (dispositivo locale). Definire la struttura d'ingresso per il dispositivo locale utilizzando il tipo di dati MODBUS2LOCPARA.
Definisce l'ingresso della struttura (dispositivo locale). Definire la struttura d'ingresso per il dispositivo di destinazione utilizzando il tipo di dati MODBUS2TARPARA.
Tipo di dati MODBUSLOCADDR è un vettore a 125 parole. Utilizzo di LocalAddr: · Per i comandi di lettura, archiviare i dati (1-125 parole) restituiti dallo slave Modbus. · Per i comandi di scrittura, inserire nel buffer i dati (1-125 parole) da inviare allo slave
Modbus. Gli output di questa istruzione sono aggiornati in modo asincrono rispetto alla scansione del programma. L'output Q non è utilizzabile per riattivare l'istruzione, in quanto IN viene attivato sul fronte. TRUE: istruzione MSG terminata con successo. FALSE: istruzione MSG non terminata. Indica un errore rilevato. TRUE: è stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti nei codici di errore Modbus2. Si utilizza per verificare i bit di stato: · Bit 0: EN: abilitazione · Bit 1: EW ­ Attesa abilitazione · Bit 2: ST ­ Avvio · Bit 3: ER ­ Errore · Bit 4: DN ­ Eseguito Gli altri bit sono riservati.

Valore del codice di errore SubError quando Error è TRUE. Quando un MSG è attivato o riattivato, un SubErrorID impostato in precedenza viene cancellato.

ID errore SubErrorID

Codici di errore ed errore secondario MSG_MODBUS2
Quando è impostato il bit ER, i campi ErrorID e SubErrorID visualizzano i seguenti codici di errore.
Descrizione

33

Errori relativi alla configurazione del parametro

32

Numero canale errato.

37

Numero di elementi errato.

38

Indirizzo dati errato.

55

Errori relativi al timeout

112

Timeout del messaggio durante l'attesa nella rispettiva coda.

113

Timeout del messaggio durante l'attesa di una connessione al livello del collegamento.

114

Timeout del messaggio durante l'attesa della trasmissione al livello del collegamento.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

203

Capitolo 9
69 208 209 210 217 222 255
129 130
131 132 133 134 136 137

Istruzioni di comunicazione

115

Timeout del messaggio durante l'attesa della risposta dal livello del collegamento.

Codici degli errori relativi al formato di risposta del server

Nessun indirizzo IP configurato per la rete. Numero massimo di connessioni utilizzate. Nessuna connessione disponibile. Indirizzo Internet o del nodo non valido. Esecuzione del messaggio annullata dall'utente. (Il parametro Cancel era impostato su TRUE.) Impossibile stabilire una connessione di rete prima del timeout. Il canale è in arresto oppure è in corso una riconfigurazione. Un codice di errore viene generato immediatamente dopo l'accensione, finché non si stabilisce una connessione. Si tratta di un comportamento normale. Può essere generato anche se un cavo Ethernet viene scollegato o se non è possibile rilevare un indirizzo IP. Codici di errore della risposta slave
Codice di funzione non valido Indirizzo dati non valido

Valore dati non valido Errore del server Conferma Conferma negativa Errore di parità in memoria Codice di errore della risposta non standard. Il codice di errore effettivo può trovarsi nel SubErrorID.

Esempio di programmazione a blocchi funzionali MSG_MODBUS2

204

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9
Esempio di Diagramma ladder MSG_MODBUS2

Istruzioni di comunicazione

Esempio di Testo strutturato MSG_MODBUS2

Vedere anche
Istruzioni di comunicazione a pagina 179 Processi di esecuzione di messaggi e diagrammi di temporizzazione a pagina 208 Tipo di dati MODBUS2LOCPARA a pagina 205 Tipo di dati MODBUS2TARPARA a pagina 206

Tipo di dati MODBUS2LOCPARA
Parametri Canale
TriggerType

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati MODBUS2LOCPARA.

Tipo di dati UINT
UDINT

Descrizione
Numero della porta Ethernet locale: · 4 per la porta Ethernet integrata di Micro850 e Micro820. Tipo di attivazione messaggio: · 0: Msg attivato una volta (quando IN passa da False a True) · 1 - 65535: valore di attivazione ciclico in millisecondi. Messaggio attivato periodicamente, quando
IN è True e l'esecuzione del messaggio precedente è stata completata. · Impostare il valore su 1 per attivare i messaggi il più rapidamente possibile. Vedere Attivazione messaggio MSG_MODBUS2.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

205

Capitolo 9

Istruzioni di comunicazione

Cmd

USINT

ElementCnt

UINT

Comando Modbus: · 01: lettura stato della bobina (0xxxx) · 02: lettura stato ingresso (1xxxx) · 03: lettura registri di mantenimento (4xxxx) · 04: lettura registri ingresso (3xxxx) · 05: scrittura bobina singola (0xxxx) · 06: scrittura registro singolo (4xxxx) · 15: scrittura bobine multiple (0xxxx) · 16: scrittura registri multipli (4xxxx) · Altri: Supporto del comando personalizzato
Supporto del comando personalizzato MODBUS2LOCPARA: Sono supportati anche i comandi personalizzati nell'intervallo 0-255 e non ancora assegnati a un comando Modbus. Se viene usato un comando personalizzato, LocalCfg:ElementCnt conterrà il numero di byte ricevuti. La risposta sarà ricevuta in Local Address Data e sovrascriverà i dati richiesti. Esempio per CMD=0x2B: · Local Address Data 1:0x0E, READ_DEVICE_ID_MEI · Local Address Data 2:0x01, READ_DEV_ID_BASIC · Local Address Data 3:0x00, Read Vendor Object Limiti · Per ingressi Lettura bobina/Discreto: 2000 bit · Per Lettura registro: 125 parole · Per Scrittura bobina: 1968 bit · Per Scrittura registro: 123 parole

Attivazione messaggio MSG_MODBUS2

Un messaggio Modbus può essere attivato periodicamente impostando il parametro TriggerType su un valore diverso da zero.
Nella tabella seguente viene descritto cosa accade se il parametro TriggerType viene utilizzato con il blocco funzione MSG_MODBUS2.

Azione
Il messaggio è abilitato.
Il tempo impostato nel timer di attivazione scade prima del completamento del messaggio. Il messaggio viene completato prima che il tempo impostato nel timer di attivazione scada.

Risultati
Il timer attivazione si attiva.
Il messaggio è attivato immediatamente nel ciclo di scansione ladder successivo. Il messaggio è attivato quando il tempo impostato nel timer attivazione è esaurito.

Tipo di dati MODBUS2TARPARA

Parametri

Tipo di dati

Addr

UDINT

Vedere anche
MSG_MODBUS2 a pagina 202 Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati MODBUS2TARPARA.
Descrizione
Indirizzo dati Modbus del dispositivo di destinazione: · 1 - 65536. · Diminuisce di uno durante l'invio. · Il firmware usa low-word dell'indirizzo, se il valore dell'indirizzo è superiore a 65536.

206

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri NodeAddress[4]
Porta UnitId MsgTimeOut
ConnTimeOut
ConnClose

Tipo di dati USINT
UINT USINT

Descrizione

Capitolo 9

Istruzioni di comunicazione

Indirizzo IP del dispositivo di destinazione. L'indirizzo IP deve essere un indirizzo unicast valido e non 0, multicast, broadcast, locale o loopback (127.x.x.x). Ad esempio, per specificare 192.168.2.100: · NodeAddress[0]=192 · NodeAddress[1]=168 · NodeAddress[2]=2 · NodeAddress[3]=100

Numero della porta TCP di destinazione. La porta Modbus/TCP standard è 502. 1 - 65535 Impostare a 0 per utilizzare il valore predefinito 502
Identificatore unità. Utilizzato per comunicare con i dispositivi slave tramite bridge Modbus. Fare riferimento alle specifiche Modbus per maggiori dettagli. Tenere presente che Micro800 non deve tentare di convalidare questo valore. 0 - 255 Impostare su 255 se il dispositivo di destinazione non è un bridge.

UDINT

Timeout messaggio (in millisecondi). Il tempo di attesa di una risposta a un comando avviato.

· 250-10.000

· Impostare su 0 per utilizzare il valore predefinito 3.000.

· Un valore inferiore a 250 (valore minimo) viene impostato su 250.

· Un valore superiore a 10.000 (valore massimo) viene impostato su 10.000.

Vedere Timer per timeout messaggio Modbus/TCP.

UDINT

Timeout connessione TCP (in millisecondi). Tempo di attesa per la corretta esecuzione della connessione TCP al

dispositivo di destinazione.

· 250-10.000

· Impostare su 0 per utilizzare il valore predefinito 5.000.

· Un valore inferiore a 250 (valore minimo) viene impostato su 250.

· Un valore superiore a 10.000 (valore massimo) viene impostato su 10.000.

Vedere Timer per timeout messaggio Modbus/TCP.

BOOL

Comportamento alla chiusura della connessione TCP.

· True: chiude la connessione TCP al completamento del messaggio.

· False: non chiude la connessione TCP al completamento del messaggio [impostazione predefinita].

Vedere Connessioni per messaggio Modbus/TCP.

Timer per timeout messaggio Modbus/TCP

La tabella seguente descrive il comportamento per MsgTimeOut e ConnTimeOut in base alle richieste e allo stato del messaggio.

Azione Il messaggio è abilitato. È richiesta la connessione TCP. Il timer ConnMsgTimeout è attivo. La richiesta di connessione è completata.

Risultati Attiva il timer MsgTimeOut. Attiva il timer ConnTimeOut. Disabilita il timer MsgTimeOut. Riattiva il timer MsgTimeOut.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

207

Capitolo 9

Istruzioni di comunicazione
Connessioni per messaggio Modbus/TCP

Il client Modbus/TCP supporta un massimo di 16 connessioni. Nella seguente tabella è descritto il comportamento della connessione Modbus/TCP.

Scenario

Risultati

La richiesta di messaggio è abilitata e non esiste alcuna connessione con la destinazione.

In mancanza di una connessione con la destinazione, viene stabilita una nuova connessione. Se esiste già una connessione con la destinazione, viene utilizzata la connessione esistente.

L'esecuzione del messaggio è completata e ConnClose è impostato Se è presente solo una connessione alla destinazione, la connessione viene terminata.

su True.

Se sono presenti più connessioni alla destinazione, la connessione viene terminata al completamento

dell'esecuzione dell'ultimo messaggio.

L'esecuzione del messaggio è completata e ConnClose è impostato La connessione non viene terminata. su False.

La connessione non è associata a un messaggio attivo e rimane inattiva per l'intervallo di tempo specificato nel parametro ConnTimeOut.

La connessione viene terminata.

Il controllore passa da una modalità di esecuzione (Esecuzione, Esecuzione remota, Scansione singola remota di test e piolo singolo remoto) a una di non esecuzione.

Per tutte le connessioni attive viene forzata la chiusura.

Vedere anche
MSG_MODBUS2 a pagina 202

Processi di esecuzione di messaggi e diagrammi di temporizzazione

Nei seguenti argomenti sono descritte la modalità e la tempistica di esecuzione delle istruzioni dei messaggi MSG_CIPGENERIC, MSG_CIPSYMBOLIC e MSG_MODBUS2 in base alle relative condizioni di rung e bit.
· Processo di esecuzione del messaggio (generale) · Processo di esecuzione del messaggio (Rung = TRUE) · Diagramma di temporizzazione dell'esecuzione del messaggio
(Rung = True) · Processo di esecuzione del messaggio (Rung = FALSE) · Diagramma di temporizzazione dell'esecuzione del messaggio
(Rung = FALSE) · Processo di esecuzione di messaggi (errore) · Diagramma di temporizzazione dell'esecuzione del messaggio
(errore)

Vedere anche
Istruzioni di comunicazione a pagina 179 MSG_MODBUS2 a pagina 202 MSG_CIPSYMBOLIC a pagina 191 MSG_CIPGENERIC a pagina 182

208

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Processo di esecuzione del messaggio (generale)

Capitolo 9

Istruzioni di comunicazione

Nel seguente diagramma sono illustrate la modalità e la tempistica dell'esecuzione dei messaggi in base allo stato della coda Com.

Nella seguente tabella è descritta la sequenza di eventi identificata nel diagramma precedente.

N.

Descrizione degli eventi

1 Il messaggio è abilitato. Se la coda Com è vuota, il buffer è allocato per il messaggio e il messaggio viene aggiunto alla coda Com per la trasmissione. La dimensione della coda Com è 4. Ogni canale ha una coda distinta.
2 Se la coda Com è piena, il messaggio viene aggiunto alla coda Attesa. Non appena la coda Com si svuota, il messaggio viene aggiunto alla coda Com dalla coda Attesa. Non esiste un limite di dimensione per la coda Attesa. Ogni canale ha una coda distinta.
3 L'attività di comunicazione esegue i messaggi presenti nella coda Com a ogni Fine scansione per la trasmissione. Le code di ogni canale vengono elaborate una per volta con metodo round robin. Viene eseguito un messaggio per ciascun canale. Il processo continua fino all'esecuzione di tutti i messaggi o fino alla scadenza della comunicazione pianificata (10 ms). Come da pianificazione, nella successiva Fine scansione viene visualizzato per primo il canale successivo all'ultimo elaborato.

Vedere anche
Processi di esecuzione di messaggi e diagrammi di temporizzazione a pagina 208 Istruzioni di comunicazione a pagina 179

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

209

Capitolo 9

Istruzioni di comunicazione

Processo di esecuzione del messaggio (Rung = TRUE)

Nel seguente diagramma dei processi sono descritti gli eventi relativi alle istruzioni dei messaggi che si verificano quando la condizione Rung è True.

Coda Com: le richieste di messaggio aggiunte alla coda Com hanno un buffer allocato ed elaborato dall'attività di comunicazione. Il limite massimo per la coda è 4.
Coda Attesa: i messaggi che non è possibile aggiungere alla coda Com sono aggiunti alla coda Attesa per la successiva elaborazione. Per la coda Attesa non è previsto un limite di dimensione massimo.

Vedere anche
Processi di esecuzione di messaggi e diagrammi di temporizzazione a pagina 208 Istruzioni di comunicazione a pagina 179 MSG_MODBUS a pagina 196

210

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Diagramma di temporizzazione dell'esecuzione del messaggio (Rung = TRUE)

Capitolo 9

Istruzioni di comunicazione

Nella seguente tabella sono descritte le condizioni dei messaggi e lo stato dei bit per ogni passo dell'esecuzione identificato nel diagramma di temporizzazione, finché la condizione Rung rimane True.

Passo 1 2
3

Descrizione messaggio
La condizione Rung passa a TRUE. L'esecuzione del messaggio è abilitata.
Il buffer di controllo dei messaggi viene acquisito. A questo punto i dati di ingresso (vale a dire, il parametro "data" per i messaggi di scrittura) vengono copiati per la trasmissione. Le modifiche successive ai dati di ingresso non verranno applicate al messaggio trasmesso. Inizia la trasmissione del messaggio.

4

Viene ricevuta la risposta al messaggio.

5

La condizione Rung passa a FALSE.

Stato dei bit Il bit EN è impostato. Tutti gli altri bit sono cancellati. Il bit EW è impostato.
Il bit EW è cancellato. Il bit ST è impostato. Il bit ST è cancellato. Il bit DN è impostato. Il bit EN è cancellato.

Diagramma di temporizzazione per (Rung = TRUE)

Vedere anche
Processi di esecuzione di messaggi e diagrammi di temporizzazione a pagina 208 Istruzioni di comunicazione a pagina 179
Processo di esecuzione del Nel seguente diagramma dei processi sono descritti gli eventi relativi
alle istruzioni dei messaggi che si verificano quando la condizione
messaggio (Rung = FALSE) Rung è False.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

211

Capitolo 9

Istruzioni di comunicazione

Diagramma di temporizzazione dell'esecuzione del messaggio (Rung = FALSE)

Vedere anche
Processi di esecuzione di messaggi e diagrammi di temporizzazione a pagina 208
Istruzioni di comunicazione a pagina 179
Nella seguente tabella sono descritte le condizioni dei messaggi e lo stato dei bit per ogni passo dell'esecuzione identificato nel diagramma di temporizzazione, finché la condizione Rung rimane FALSE durante l'esecuzione.

212

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

Passo 1 2 3
4 5 6

Descrizione messaggio

Stato dei bit

La condizione Rung passa a TRUE. L'esecuzione del messaggio è abilitata.

Il bit EN è impostato. Tutti gli altri bit sono cancellati.

La condizione Rung passa a FALSE. L'esecuzione del messaggio continua.
Viene acquisito il buffer del messaggio. A questo punto i dati di ingresso (vale a dire, il parametro "data" per i messaggi di scrittura) vengono copiati per la trasmissione. Le modifiche successive ai dati di ingresso non verranno applicate al messaggio trasmesso.
Inizia la trasmissione del messaggio.

Il bit EW è impostato.
Il bit EW è cancellato. Il bit ST è impostato.

Viene ricevuta la risposta al messaggio. Il messaggio viene scansionato di nuovo dopo il passo 5.

Il bit ST è cancellato. Il bit DN è impostato.
Il bit EN è cancellato.

Diagramma di temporizzazione per (Rung = FALSE)

Processo di esecuzione di messaggi (errore)

Vedere anche

Processi di esecuzione di messaggi e diagrammi di temporizzazione a pagina 208
Istruzioni di comunicazione a pagina 179
Nella seguente tabella sono descritte le condizioni dei messaggi e lo stato dei bit per ogni passo dell'esecuzione identificato nel diagramma di temporizzazione, quando si verifica un errore durante l'esecuzione.

Passo 1
2

Descrizione messaggio La condizione Rung passa a TRUE. L'esecuzione del messaggio è abilitata.
Il buffer del messaggio viene acquisito.

Stato dei bit Il bit EN è impostato. Tutti gli altri bit sono cancellati.
Il bit EW è impostato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

213

Capitolo 9

Istruzioni di comunicazione Passo 3
4 4-6

Descrizione messaggio Inizia la trasmissione del messaggio.
La trasmissione del messaggio entra in timeout. Con la condizione Rung passata a FALSE.

Stato dei bit
Il bit EW è cancellato. Il bit ST è impostato.
I bit EW e ST non cambiano.
Il bit EN è cancellato. Il bit ER è impostato.

Vedere anche
Processi di esecuzione di messaggi e diagrammi di temporizzazione a pagina 208 Istruzioni di comunicazione a pagina 179

Diagramma di temporizzazione dell'esecuzione del messaggio (errore)

Il seguente diagramma di temporizzazione mostra un modello tipico di errore che si verifica durante l'esecuzione.

Vedere anche
Processi di esecuzione di messaggi e diagrammi di temporizzazione a pagina 208 Istruzioni di comunicazione a pagina 179

214

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Utilizzo dei blocchi funzione di comunicazione (messaggio)

Capitolo 9

Istruzioni di comunicazione

Questa sezione fornisce dettagli ed esempi specifici per l'utilizzo delle istruzioni di comunicazione nei programmi logici. Per esempi e dettagli sull'utilizzo dei blocchi funzione MSG_CIPGENERIC e MSG_CIPSYMBOLIC al fine di creare programmi, vedere i seguenti argomenti.

Vedere anche
Istruzioni di comunicazione a pagina 179
Configurazione dei valori dei dati oggetto per i messaggi espliciti a pagina 215
Esempio: Come creare un programma di generazione messaggi MSG_CIPGENERIC per leggere i dati da un controllore a pagina 217
Esempio: Come creare un programma di generazione messaggi MSG_CIPSYMBOLIC per scrivere i dati in un controllore a pagina 226
Esempio: Come configurare una comunicazione Modbus per la lettura da e la scrittura in una unità a pagina 236

Configurazione dei valori dei

Per utilizzare il blocco funzione MSG_CIPGENERIC per la messaggistica esplicita, sarà necessario configurare il parametro

dati oggetto per i messaggi AppCfg con i valori corretti.

espliciti (MSG_CIPGENERIC)

Per maggiori informazioni sulla comunicazione tramite messaggi

Esistono diverse risorse informative sull'uso e sull'implementazione delle comunicazioni via messaggistica, inclusa la guida di Connected Components Workbench, i manuali utente e la Rockwell Automation Literature Library.
Nella seguente tabella sono elencate ulteriori fonti di informazioni in merito alla comunicazione tramite messaggi.

Fonte di informazioni

Descrizione

Come trovare le informazioni

Manuale dell'utente per uno specifico dispositivo di comunicazione
Adattatore EtherNet/IP 22-COMM-E FRN 1.xxx, appendice C Specifica EtherNet/IP

Contiene informazioni importanti sulla messaggistica e informazioni specifiche per la configurazione dei blocchi funzione per i messaggi.
Fornisce informazioni sugli oggetti EtherNet/IP accessibili utilizzando i messaggi espliciti.
Definisce gli oggetti da includere in ogni dispositivo CIP: Oggetto Identity, oggetto Message Router e oggetto Network.

Menu Guida Connected Components Workbench
Menu Guida Connected Components Workbench Sito Web ODVA (http://www.odva.org)

Controllori programmabili Micro800: Fornisce istruzioni rapide per l'utilizzo della messaggistica CIP Rockwell Automation Literature Library

Guida introduttiva alla messaggistica generica e simbolica nei controllori a logica programmabile (PLC)

client CIP

Micro830 e Micro850.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

215

Capitolo 9

Istruzioni di comunicazione
Per accedere ai manuali dell'utente e alle guide rapide:
1. Per accedere alle rapide guide, nel menu Guida , fare clic su Visualizza Guida.
2. Fare doppio clic su Connected Components Workbench. 3. Fare doppio clic su Guida introduttiva a Connected
Components Workbench. 4. Per accedere ai manuali dell'unità, nel menu Guida, fare clic su
Manuali dell'utente per visualizzare la finestra di dialogo dei manuali. 5. Fare clic sul segno più (+) accanto a Unità per espandere la categoria, quindi espandere la classe fino a individuare il manuale desiderato. 6. Fare doppio clic sul nome del manuale per aprire il file PDF. 7. Per accedere al manuale di EtherNet/IP, nel menu Guida, fare clic su manuali dell'utente per visualizzare la finestra di dialogo dei manuali. 8. Fare clic sul segno più (+) accanto a Unità per espandere la categoria, quindi espandere la classe Periferiche PowerFlex classe 4. 9. Fare doppio clic sul manuale dell'utente dell'adattatore EtherNet/IP 22-COMM-E per aprire il file PDF.
Per accedere ai manuali da Rockwell Automation Literature Library:
1. Visitare http://literature.rockwellautomation.com.

2. Per accedere alle versioni in lingua diversa dall'inglese dei manuali dell'utente, selezionare la lingua dalla casella a discesa Lingua della pubblicazione (nell'angolo destro).
3. Nella casella Cerca, inserire il numero completo o parziale del catalogo del dispositivo. Ad esempio, inserire 2080-LC30 per visualizzare i manuali utente Micro830.
4. Nella casella Ricerca, digitare il numero di catalogo completo o parziale del dispositivo. Ad esempio, inserire 2080-LC30 per visualizzare i manuali utente Micro830.

Dati dell'oggetto Registro CIP
I blocchi funzione MSG_CIPGENERIC utilizzano i dati dell'oggetto Registro CIP nel parametro AppCfg. I dati dell'oggetto includono quanto segue:
· Codice classe · Istanza · Attributo istanza · Servizio

Valori per il parametro MSG_CIPGENERIC AppCfg
Per configurare i parametri del blocco funzione MSG_CIPGENERIC, utilizzare i valori dell'oggetto registro CIP per le variabili di ingresso.

216

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

L'immagine seguente mostra i valori dei dati dell'oggetto registro CIP utilizzati nei parametri del blocco funzione MSG_CIPGENERIC.

Vedere anche
MSG_CIPGENERIC a pagina 182 Utilizzo dei blocchi funzione di comunicazione (messaggistica) a pagina 215

Esempio: Come creare un programma di generazione messaggi MSG_CIPGENERIC per leggere i dati da un controllore

Nell'esempio è illustrata la modalità di creazione di un programma di generazione messaggi per recuperare le informazioni di catalogo del controllore B dal controllore A, utilizzando un blocco funzione MSG_CIPGENERIC e un blocco funzione COP.

Per creare un programma di messaggistica MSG_CIPGENERIC utilizzabile per leggere le informazioni da un controllore diverso, eseguire le attività seguenti.

No

Attività

1

Identificazione dei valori iniziali per le variabili di ingresso (MSG_CIPGENERIC) a pagina 218

2

Aggiunta di variabili e di un blocco funzione MSG_CIPGENERIC a pagina 219

3

Configurazione dei valori iniziali per le variabili a pagina 220

4

Aggiunta di un contatto e di una bobina a pagina 222

5

Aggiunta di un blocco funzione COP, di variabili e di un contatto (MSG_CIPGENERIC) a pagina 223

6

Verifica della corretta configurazione IP sul controllore B a pagina 225

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

217

Capitolo 9

Istruzioni di comunicazione
Vedere anche
Configurazione dei valori dei dati oggetto per i messaggi espliciti a pagina 215
Utilizzo dei blocchi funzione di comunicazione (messaggistica) a pagina 215

Identificazione dei valori iniziali per le variabili di input, MSG_CIPGENERIC

Attenersi alla seguente procedura per aggiungere variabili di ingresso e valori iniziali e ottenere i valori di oggetto identità per configurare i valori iniziali del parametro AppCfg.
Per aggiungere variabili di ingresso e valori iniziali:
1. Nel menu Guida, fare clic su Manuali utente. 2. Espandere Unità e individuare il manuale dell'utente relativo al
tipo di adattatore di comunicazione in uso (Manuale dell'utente dell'adattatore EtherNet/IP). 3. Fare doppio clic sul manuale per aprirlo. 4. Consultare le intestazioni dell'Appendice per individuare la sezione contenente le informazioni sugli oggetti EtherNet/IP accessibili mediante i messaggi espliciti (Appendice C). 5. Consultare la sezione Appendice e individuare il tipo di oggetto relativo al messaggio esplicito (oggetto identità). 6. Identificare i valori iniziali dei parametri AppCfg in base al tipo di informazioni da recuperare.

Esempio di variabile di ingresso MyAppCfg.Service

Parametro AppCfg Servizio

MyAppCfg.Class MyAppCfg.Instance MyAppCfg.Attribute

Classe Istanza Attributo

Esempio di dati dell'oggetto Ethernet/IP e dei parametri AppCfg

Nella seguente tabella sono identificati i dati specifici dell'oggetto Ethernet/IP utilizzati per leggere le informazioni di catalogo da un controllore.

Opzione dati dell'oggetto Ethernet/IP Codice servizio

Descrizione
Implementazione per classe = sì Implementazione per istanza = sì Ottenimento singolo attributo

Codice classe Istanze Attributo istanza

Classe oggetto EtherNet/IP = oggetto identità 22-COMM-E
Ottenimento nome prodotto e classificazione come SHORT STRING

Valore iniziale
14 (0x0E in esadecimale)
01 01 07

Vedere anche
Aggiunta di variabili e di un blocco funzione per messaggi generici MSG_CIPGENERIC a pagina 219
Esempio: Come configurare i messaggi espliciti (MSG_CIPGENERIC) a pagina 217

218

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

Aggiunta di variabili e di un blocco funzione MSG_CIPGENERIC

Per aggiungere un blocco funzione MSG_CIPGENERIC per una Programmazione in Ladder Diagram, quindi aggiungere variabili di ingresso al blocco funzione, attenersi alla seguente procedura.

Per aggiungere un blocco funzione MSG_CIPGENERIC:

1. Aggiungere un controllore:

· Espandere la cartella Controllori e la cartella Micro850 per visualizzare tutti i controllori Micro850.
· Fare doppio clic su un controllore (2080-LC50-24QVB) per aggiungerlo all'Organizzatore progetto.

2. Aggiungere un programma con ladder diagram:

· Nell'Organizzatore progetto, fare clic con il pulsante destro del mouse su Programmi, scegliere Aggiungi, quindi fare clic su Nuovo LD: Ladder diagram.
· Fare clic con il pulsante destro del mouse sull'icona del diagramma ladder nell'Organizzatore progetto, selezionare Rinominae digitare CIPExplicitMessage.
· Fare doppio clic su Programmazione in Ladder Diagram nell' Organizzatore progetto per visualizzare la POU di LD nell'editor di lingue.

3. Aggiungere il blocco di funzione MSG_CIPGENERIC:

· Nella Casella degli strumenti, selezionare il blocco istruzione, quindi trascinarlo e rilasciarlo nel ramo del ladder per visualizzare il Selettore blocco istruzione.
· Nel campo di ricerca digitare MSG per visualizzare i blocchi di funzione per i messaggi.
· Digitare MSG_ReadDrive nel campo Istanza. · Fare doppio clic su MSG_CIPGENERIC per aggiungere
un'istanza del blocco di funzione al ladder diagram.

4. Aggiungere variabili di ingressi locali MSG_CIPGENERIC:

· Nell'Organizzatore progetto, fare doppio clic su Variabili

locali per visualizzare la pagina Variabili locali.

· Nella pagina Variabili aggiungere le variabili e i tipi di dati

elencati nella tabella.

Parametri

Nome variabile

Tipo di dati

CtrlCfg AppCfg

MyCtrlCfg MyAppCfg

CIPCONTROLCFG CIPAPPCFG

TargetCfg ReqData ReqLength ResData

MyTargetCfg MyReqData MyReqLength MyResData

CIPTARGETCFG USINT UINT USINT (array)

5. Per la variabile MyResData fare doppio clic su Dimensione e modificare la dimensione dell'array su [1..81].

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

219

Capitolo 9

Istruzioni di comunicazione

L'aspetto della pagina Variabili deve essere simile all'immagine raffigurata di seguito.

Vedere anche
Configurazione dei valori iniziali (MSG_CIPGENERIC) a pagina 220
Esempio: Come configurare i messaggi espliciti (MSG_CIPGENERIC) a pagina 217
Identificazione dei valori iniziali per le variabili di ingresso (MSG_CIPGENERIC) a pagina 218

Configurazione dei valori iniziali per le variabili

Per aggiungere valori iniziali alle variabili di ingresso già create in precedenza e assegnarle al parametro di ingresso corretto del blocco funzione MSG_CIPGENERIC, attenersi alla seguente procedura.

Per assegnare variabili a MSG_CIPGENERIC:

1. Per configurare i valori iniziali della variabile di ingresso MyCtrlCfg:

· Nella pagina Variabili locali, espandere MyCtrlCfg per

visualizzare i relativi parametri.

· Immettere i seguenti valori nella colonna Valore iniziale di

ciascun parametro.

Parametri

Valore iniziale

Commenti

MyCtrlCfg.Cancel

Lasciare vuoto

Non necessario.

MyCtrlCfg.TriggerType

0

È necessario recuperare il numero di catalogo una sola volta.

MyCtrlcfg.StrMode

Lasciare vuoto

Non necessario.

2. Per configurare i valori iniziali della variabile di ingresso MyAppCfg

· Nella pagina Variabili locali, espandere MyAppCfg per

visualizzare i relativi parametri.

· Immettere i seguenti valori nella colonna Valore iniziale di

ciascun parametro.

Parametri

Valore iniziale

MyAppCfg.Service

14

MyAppCfg.Class

01

MyAppCfg.Instance

01

220

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri MyTargetCfg.Path
MyTargetCfg.CipConnMode MyTargetCfg.UcmmTimeout
MyTargetCfg.ConnMsgTimeout
MyTargetCfg.ConnClose

Capitolo 9

Istruzioni di comunicazione

MyAppCfg.Attribute

07

3. Per configurare i valori iniziali della variabile di ingresso MyTargetCfg

· Nella pagina Variabili locali, espandere MyTargetCfg per

visualizzare i relativi parametri.

· Immettere i seguenti valori nella colonna Valore iniziale di

ciascun parametro.

Valore iniziale

Commenti

"4,192.168.100.4"
0 vuoto vuoto FALSE

Il primo "4" indica che il messaggio è inviato tramite la porta Ethernet integrata. 192.168.100.4 è l'indirizzo IP dell'interfaccia Ethernet del dispositivo. Per i messaggi CIP è preferibile impostarlo su Non connesso. I messaggi non connessi prevedono un timeout con impostazione predefinita di 3000 millisecondi, se i relativi Valori iniziali sono vuoti. I messaggi connessi prevedono un timeout con impostazione predefinita di 3000 millisecondi, se i relativi Valori iniziali sono vuoti. Per la messaggistica connessa la connessione CIP può essere chiusa immediatamente dopo il completamento dell'istruzione di messaggio, impostando il Valore iniziale su TRUE.

I parametri nella pagina Variabili devono avere l'aspetto raffigurato nella seguente immagine.

Parametri CtrlCfg
AppCfg
Destinazione ReqData
ReqLength

4. Per assegnare variabili ai parametri

· Nella POU del ladder diagram fare clic in cima al blocco di

ingresso della variabile per aprire l'elenco a discesa con le

variabili.

· Dall'elenco, assegnare ogni parametro di ingresso alla relativa

variabile di ingresso corretta, come indicato nella seguente

tabella.

Variabile di ingresso

Commenti

MyCtrlCfg MyAppCfg MyTargetCfg MyReqData MyReqLength

Il numero di catalogo deve essere recuperato solo una volta, quindi il valore iniziale di MyCtrlCfg.TriggerType è impostato su 0.
I valori iniziali sono stati determinati cercando i valori dei dati oggetto di Servizio, Classe, Istanza e Attributo. I valori iniziali servono per la configurazione del dispositivo di destinazione.
Essendo un messaggio di lettura, non vi è richiesta di dati, pertanto i parametri ReqData non sono utilizzati. Essendo un messaggio di lettura, non vi è richiesta di dati, pertanto i parametri ReqLength non sono utilizzati.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

221

Capitolo 9

Istruzioni di comunicazione

ResData

MyResData

La stringa con il numero di catalogo è memorizzata nell'array con formato stringa breve ODVA. Il primo elemento dell'array definisce la lunghezza della stringa, gli altri rappresentano il valore esadecimale del carattere della stringa. Il numero massimo di caratteri è 80 più la lunghezza dell'elemento, quindi MyResData è definito come un array a 1 dimensione con 81 elementi.

L'istanza del blocco funzione MSG_CIPGENERIC deve essere simile all'immagine mostrata di seguito.

Vedere anche
Aggiunta di variabili e di un blocco funzione per messaggi generici MSG_CIPGENERIC a pagina 219
Aggiunta di un contatto e di una bobina a pagina 222
Esempio: Come configurare i messaggi espliciti (MSG_CIPGENERIC) a pagina 217

Aggiunta di un contatto e di

Attenersi ai passaggi seguenti per aggiungere una bobina e un contatto all'istruzione MSG_CIPGENERIC che converte le informazioni del

una bobina

catalogo in una stringa leggibile dall'utente.

Per aggiungere una bobina a MSG_CIPGENERIC:
1. Nella casella degli strumenti, selezionare Contatto diretto, quindi trascinarlo e rilasciarlo a sinistra dell'ingresso con il blocco funzione MSG_CIPGENERIC sul primo piolo del ladder.
2. Nel selettore di variabili, digitare Get_Catalog nel campo Nome del contatto.

222

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

3. Nella casella degli strumenti, selezionare Bobina diretta, quindi trascinarla e rilasciarla a destra dell'uscita con il blocco di funzione MSG_CIPGENERIC sul primo piolo del ladder.
4. Nel selettore di variabili, digitare Convert_String nel campo Nome della bobina.

Il primo piolo del programma con ladder diagram per la messaggistica MSG_CIPGENERIC dovrebbe apparire come nella seguente immagine.

Vedere anche
Aggiunta di un blocco funzione COP, di variabili e contatti a pagina 223
Configurazione dei valori iniziali (MSG_CIPGENERIC) a pagina 220
Esempio: Come configurare i messaggi espliciti (MSG_CIPGENERIC) a pagina 217

Aggiunta di un blocco funzione COP, di variabili e di un contatto (MSG_CIPGENERIC)

Attenersi ai passaggi seguenti per aggiungere un blocco funzione COP, le variabili e un contatto. L'istruzione COP si utilizza per convertire i dati dal tipo di dati di origine (ad esempio DINT o REAL) al tipo di dati di destinazione. In questo esempio le informazioni sul catalogo vengono convertite in una stringa leggibile dall'utente.

Per aggiungere un blocco funzione COP:
1. Nella Casella degli strumenti, selezionare il Ramo, quindi trascinarlo e rilasciarlo direttamente sotto il primo ramo del ladder per aggiungere un secondo ramo.
2. Aggiungere il blocco di funzione COP:
· Nella Casella degli strumenti, selezionare Blocco, quindi trascinarlo e rilasciarlo nel secondo ramo del ladder per aprire il Selettore blocco istruzione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

223

Capitolo 9

Istruzioni di comunicazione

· Fare doppio clic su COP per aggiungere un'istanza del blocco di funzione al ladder diagram.
3. Aggiungere le variabili locali di ingresso per COP:

· Nell'Organizzatore progetto, fare doppio clic su Variabili

locali per visualizzare la pagina Variabili locali.

· Nella pagina Variabili locali, aggiungere le variabili e i tipi di

dati elencati nella seguente tabella.

Parametri

Nome variabile

Tipo di dati

Src SrcOffset

MyResData 0

Array USINT UINT

Dest DestOffset Lunghezza Swap

CatalogID 0 1 FALSE

Array STRING UINT UINT BOOLEAN

4. Per la variabile CatalogID, fare doppio clic su Dimensione e modificare la dimensione del vettore su [1..1]
5. Aggiungere un contatto:

· Nella casella degli strumenti, selezionare Contatto diretto, quindi trascinarlo e rilasciarlo a sinistra dell'ingresso con il blocco di funzione COP sul secondo piolo del ladder.
· Nel selettore di variabili, selezionare la variabile Convert_String per il contatto.

Risultato

Il secondo piolo del programma con ladder diagram per la messaggistica MSG_CIPGENERIC deve avere l'aspetto raffigurato nella seguente immagine.

Vedere anche
Aggiunta di un contatto e di una bobina a pagina 222

224

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Verifica della corretta configurazione IP sul controllore B

Capitolo 9

Istruzioni di comunicazione

Configurazione dei valori iniziali (MSG_CIPGENERIC) a pagina 220

Verifica della corretta configurazione IP sul controllore B a pagina 225

Per verificare se le impostazioni relative all'indirizzo IP del controllore B sono corrette, attenersi alla seguente procedura.

Per verificare l'indirizzo IP:

1. Aprire lo Spazio di Lavoro dell'applicazione di un controllore: 2. In Organizzatore progetto fare doppio clic sul controllore per
aprire lo spazio di lavoro del controllore. 3. Nello Spazio di Lavoro del controllore, espandere Ethernet nella
struttura ad albero del controllore, quindi fare clic su Protocollo IP per visualizzare la pagina di configurazione del controllore. 4. Verificare che le impostazioni relative all'indirizzo IP siano corrette, come indicato nella seguente tabella.
Opzione di configurazione IP Valore

Indirizzo IP

192.168.1.19

Subnet mask Indirizzo gateway

255.255.255.0 192.168.1.1

Risultati

Le opzioni relative al Protocollo IP nella pagina di configurazione del controllore devono avere l'aspetto raffigurato nella seguente immagine.

Vedere anche
Aggiunta di un blocco funzione COP, di variabili e contatti a pagina 223

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

225

Capitolo 9

Istruzioni di comunicazione

Aggiunta di un blocco funzione MSG_CIPSYMBOLIC, di variabili e di un contatto a pagina 230
Creazione di una variabile globale per il controllore B a pagina 233
Esempio: Come creare un programma di generazione messaggi MSG_CIPSYMBOLIC per scrivere i dati in un controllore a pagina 226

Esempio: Come creare un

In questo esempio viene illustrato come creare un programma di generazione messaggi per scrivere un valore dal controllore A alla

programma di generazione variabile globale del controllore B.

messaggi MSG_CIPSYMBOLIC

per scrivere i dati in un

controllore

Per creare un programma di messaggistica MSG_CIPSYMBOLIC utilizzabile per scrivere un valore in una variabile globale su un controllore diverso, eseguire le operazioni seguenti.

No

Attività

1

Aggiunta di un blocco funzione COP, di variabili e di un contatto (MSG_CIPSYMBOLIC) a pagina 227

2

Aggiunta di un operatore Equal e di una bobina a pagina 228

3

Aggiunta di un blocco funzione MSG_CIPSYMBOLIC, di variabili e di un contatto a pagina 230

4

Verifica della corretta configurazione IP sul controllore B a pagina 225

5

Creazione di una variabile globale per il controllore B a pagina 233

6

Revisione dei risultati del programma completo a pagina 234

Vedere anche
Utilizzo dei blocchi funzione di comunicazione (messaggistica) a pagina 215

226

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Aggiunta di un blocco funzione COP, di variabili e di un contatto (MSG_CIPSYMBOLIC)

Capitolo 9

Istruzioni di comunicazione

L'istruzione COP si utilizza per convertire i dati immessi nel tipo di dati di destinazione, in modo che sia compatibile con la variabile del controllore.

Per aggiungere un blocco funzione COP:
1. Aggiungere un controllore:
· Espandere la cartella Controllori e la cartella Micro850 per visualizzare tutti i controllori Micro850.
· Fare doppio clic su un controllore (2080-LC50-24QVB) per aggiungerlo all'Organizzatore progetto.
2. Aggiungere un programma con ladder diagram:
· Nell'Organizzatore progetto, fare clic con il pulsante destro del mouse su Programmi, scegliere Aggiungi, quindi fare clic su Nuovo LD: Ladder diagram.
· Fare clic con il pulsante destro del mouse sull'icona del diagramma ladder nell'Organizzatore progetto, selezionare Rinominae digitare CIPSymbolicMessage.
· Fare doppio clic su Programmazione in Ladder Diagram nell' Organizzatore progetto per visualizzare la POU di LD nell'editor di lingue.
3. Aggiungere un blocco di funzione COP:
· Nella Casella degli strumenti, selezionare Blocco istruzione, quindi trascinarlo e rilasciarlo nel primo ramo del ladder per aprire il Selettore blocco istruzione.
· Nel campo di ricerca digitare COP e fare doppio clic su COP per aggiungere un'istanza del blocco di funzione al ladder diagram.
4. Aggiungere variabili COP e valori iniziali:
· Nella POU del diagramma ladder, fare doppio clic su Variabili locali per aprire la pagina Variabili locali.
· Nella pagina Variabili aggiungere le variabili e i tipi di dati elencati nella tabella riportata di seguito.
5. Creare array:
· Per ValueToWrite, fare doppio clic su Dimensione e modificare la dimensione del vettore su [1..1].
· Per A_Data, fare doppio clic su Dimensione e modificare la dimensione del vettore su [1..4].
6. Immettere i dati dalla colonna Valore della tabella riportata di seguito nel campo Valore iniziale di ciascuna variabile.
7. Aggiungere un contatto:
· Nella Casella degli strumenti, selezionare Contatto diretto, quindi trascinarlo e rilasciarlo a sinistra dell'ingresso del blocco funzione COP sul primo ramo del ladder.
· Nel Selettore di variabili, assegnare al contatto una variabile denominata Convert_Data.
Utilizzare le variabili definite nella tabella per il blocco funzione COP.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

227

Capitolo 9

Istruzioni di comunicazione

Parametri Src
SrcOffset Dest DestOffset

Nome variabile ValueToWrite
0 A_Data 0

Tipo di dati Array UDINT Valore iniziale: 987654321 UINT
Array USINT UINT

Lunghezza Swap STS

4 TRUE COPsts

UINT BOOLEAN Array UINT

Il primo piolo del programma ladder diagram per la messaggistica MSG_CIPSYMBOLIC deve avere l'aspetto raffigurato nella seguente immagine.

Vedere anche
Aggiunta di un operatore Equal e di una bobina a pagina 228
Esempio: Come creare un programma di generazione messaggi MSG_CIPSYMBOLIC per scrivere i dati in un controllore a pagina 226

Aggiunta di un operatore Equal e di una bobina

L'istruzione Equal si utilizza per attivare un valore di scrittura, se la conversione del tipo di dati è eseguita correttamente. Per aggiungere un operatore Equal (=), variabili e una bobina, attenersi alla seguente procedura.

228

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

Per aggiungere un operatore Equal:

1. Nella Casella degli strumenti, selezionare il Ramo, quindi trascinarlo e rilasciarlo direttamente sotto il primo ramo del ladder per aggiungere un secondo ramo.
2. Aggiungere un operatore Equal:

· Nella Casella degli strumenti, selezionare Blocco istruzione, quindi trascinarlo e rilasciarlo nel secondo ramo del ladder per aprire il Selettore blocco istruzione.
· Nel campo di ricerca digitare il segno "=" e fare doppio clic su "=" per aggiungere un'istanza dell'operatore al ladder diagram.

3. Per aggiungere variabili Equal:

· Nella POU del Diagramma ladder, fare doppio clic su una variabile per visualizzare il Selettore di variabili.

· Nel Selettore di variabili, assegnare i nomi delle variabili, come elencato nella seguente tabella.

Parametri

Nome variabile

i1

COPsts

i2

1

4. Per aggiungere una bobina a un operatore Equal:
Nella Casella degli strumenti, selezionare Bobina diretta, quindi trascinarla e rilasciarla a destra dell'uscita dell'operatore Equal sul secondo ramo del ladder. Nel selettore di variabili, digitare WriteValue nel campo Nome della bobina.
Il secondo piolo del programma con ladder diagram per la messaggistica MSG_CIPGENERIC deve avere l'aspetto raffigurato nella seguente immagine.

Vedere anche
Aggiunta di un blocco di funzione COP, di variabili e di un contatto a pagina 227
Aggiunta di un blocco funzione MSG_CIPSYMBOLIC, di variabili e di un contatto a pagina 230
Esempio: Come creare un programma di generazione messaggi MSG_CIPSYMBOLIC per scrivere i dati in un controllore a pagina 226

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

229

Capitolo 9

Istruzioni di comunicazione

Aggiunta di un blocco funzione MSG_CIPSYMBOLIC, di variabili e di un contatto

Per aggiungere un blocco di funzione MSG_CIPSYMBOLIC, le variabili di ingresso e un contatto a un diagramma ladder, attenersi alla seguente procedura.

Per aggiungere blocco funzione e variabili:

1. Nella casella degli strumenti selezionare il Ramo, quindi trascinarlo e rilasciarlo direttamente sotto il secondo ramo del ladder per aggiungere un terzo ramo.
2. Aggiungere il blocco di funzione MSG_CIPSYMBOLIC:

· Nella casella degli strumenti selezionare il blocco istruzione, quindi trascinarlo e rilasciarlo nel ramo del ladder per aprire il Selettore di blocco istruzione.
· Nel campo di ricerca digitare MSG per visualizzare i blocchi di funzione per i messaggi.
· Digitare MSG_WriteVariable nel campo Istanza. · Fare doppio clic su MSG_CIPSYMBOLIC per aggiungere
un'istanza del blocco di funzione denominato MSG_WriteVariable al ladder diagram.

3. Assegnare nomi di variabili:

· Nella POU del Diagramma ladder, fare doppio clic su una variabile per visualizzare il Selettore di variabili.
· Nel Selettore di variabili, assegnare i nomi delle variabili, come elencato nella seguente tabella.

4. Per la variabile Data, fare doppio clic su Dimensione e modificare la dimensione del vettore su [1...4].
5. Configurare i valori iniziali per le variabili locali, aggiungere i valori iniziali CtrlCfg:

· Nella pagina Variabili locali espandere il parametro CtrlCfg

per visualizzare parametri aggiuntivi.

· Immettere i seguenti valori nella colonna Valore iniziale di

ciascun parametro.

Parametri

Valore iniziale

A_CtrlCfg.Cancel

Lasciare vuoto

A_CtrlCfg.TriggerType A_Ctrlcfg.StrMode

300 Lasciare vuoto

6. Aggiungere valori SymCfg iniziali:

· Nella pagina Variabili locali espandere il parametro SymCfg

per visualizzare parametri aggiuntivi.

· Immettere i seguenti valori nella colonna Valore iniziale di

ciascun parametro.

Parametri

Valore iniziale

A_SymCfg.Service

1

A_SymCfg.Symbol A_SymCfg.Count A_SymCfg.DataType
A_SymCfg.Offset

'UDINT_FromA' Lasciare vuoto 200
Lasciare vuoto

230

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

Il Selettore di variabili locali deve avere l'aspetto raffigurato nella seguente immagine.

7. Configurazione dei valori iniziali per TargetCfg

· Nella POU del ladder diagram fare doppio clic sulla variabile

A_TarCfg per aprire il selettore di variabili globali.

· Espandere il parametro TargetCfg per visualizzare parametri

aggiuntivi.

· Immettere i seguenti valori nella colonna Valore iniziale di

ciascun parametro.

Parametri

Valore iniziale

A_TarCfg.Path

'4,192.168.1.19'

A_TarCfg.CipConnMode A_TarCfg.UcmmTimeout A_TarCfg.ConnMsgTimeout A_TarCfg.ConnClose

1 0 0 Lasciare vuoto

Il selettore di variabili globali create dall'utente deve avere l'aspetto raffigurato nella seguente immagine.

8. Aggiungere un contatto:
· Nella Casella degli strumenti, selezionare Contatto diretto, quindi trascinarlo e rilasciarlo a sinistra dell'ingresso del blocco funzione MSG_CIPSYMBOLIC sul terzo ramo del ladder.
· Nel Selettore di variabili, assegnare la variabile WriteValue al contatto.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

231

Capitolo 9

Istruzioni di comunicazione

Il terzo piolo del programma ladder diagram per la messaggistica MSG_CIPSYMBOLIC deve avere l'aspetto raffigurato nella seguente immagine.

Vedere anche
Aggiunta di un operatore Equal e di una bobina a pagina 228
Esempio: Come creare un programma di generazione messaggi MSG_CIPSYMBOLIC per scrivere i dati in un controllore a pagina 226
Verifica della corretta configurazione IP sul controllore B a pagina 225

Verifica della corretta configurazione IP sul controllore B

Per verificare se le impostazioni relative all'indirizzo IP del controllore B sono corrette, attenersi alla seguente procedura.

Per verificare l'indirizzo IP:

1. Aprire lo Spazio di Lavoro dell'applicazione di un controllore: 2. In Organizzatore progetto fare doppio clic sul controllore per
aprire lo spazio di lavoro del controllore. 3. Nello Spazio di Lavoro del controllore, espandere Ethernet nella
struttura ad albero del controllore, quindi fare clic su Protocollo IP per visualizzare la pagina di configurazione del controllore. 4. Verificare che le impostazioni relative all'indirizzo IP siano corrette, come indicato nella seguente tabella.
Opzione di configurazione IP Valore

Indirizzo IP
Subnet mask Indirizzo gateway

192.168.1.19
255.255.255.0 192.168.1.1

Risultati

232

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

Le opzioni relative al Protocollo IP nella pagina di configurazione del controllore devono avere l'aspetto raffigurato nella seguente immagine.

Vedere anche
Aggiunta di un blocco funzione COP, di variabili e contatti a pagina 223
Aggiunta di un blocco funzione MSG_CIPSYMBOLIC, di variabili e di un contatto a pagina 230
Creazione di una variabile globale per il controllore B a pagina 233
Esempio: Come creare un programma di generazione messaggi MSG_CIPSYMBOLIC per scrivere i dati in un controllore a pagina 226

Creazione di una variabile

Per creare una variabile globale per il controllore B, attenersi alla seguente procedura.

globale per il controllore B

Per creare una variabile globale:
1. Nell'Organizzatore progetto, fare doppio clic su Variabili globali per visualizzare il selettore di variabili globali.
2. Immettere UDINT_FromA nella colonna Nome. 3. Configurare gli altri parametri:
· Verificare che il tipo di dati sia UDINT. · Verificare che l'attributo di lettura/scrittura sia selezionato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

233

Capitolo 9

Istruzioni di comunicazione
Il selettore di variabili globali deve avere l'aspetto raffigurato nella seguente immagine.

Vedere anche
Verifica della corretta configurazione IP sul controllore B a pagina 225
Revisione dei risultati del programma completo a pagina 234

Revisione dei risultati del programma completo

Nell'esempio seguente è illustrato il programma di messaggistica MSG_CIPSYMBOLIC completo dopo la sua esecuzione.

234

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

Risultati controllore B
Le due immagini seguenti mostrano i valori del controllore B prima e dopo l'esecuzione del programma di messaggistica.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

235

Capitolo 9

Istruzioni di comunicazione
Prima dell'esecuzione del programma

Dopo l'esecuzione del programma

Vedere anche
Creazione di una variabile globale per il controllore B a pagina 233

Esempio: Come configurare una comunicazione Modbus per la lettura da e la scrittura in una unità

Questi esempi descrivono come configurare le comunicazioni Modbus per leggere i dati dello stato da una unità PowerFlex 4 e scrivervi i dati di controllo utilizzando il blocco istruzione MSG_MODBUS.
Cablaggio Micro830

Questo esempio usa un controllore Micro830 con modulo SERIALISOL collegato nel primo slot (Canale 5). È collegato un PowerFlex 40

236

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 9

Istruzioni di comunicazione

singolo, ma il diagramma seguente mostra come cablare per multi-drop. Per maggiori informazioni sul cablaggio, fare riferimento al manuale utente.

Esempio di lettura Modbus
La seguente istruzione MSG_MODBUS può essere usata per leggere i dati dello stato dall'unità PowerFlex 40.

Stato dell'unità
Il valore "1807" indica che l'unità è
· Pronta (bit 0 ON) · Attiva (bit 1 ON) · Marcia av. coman. (bit 2 ON) · Rotaz. avanti (bit 3 ON) · Stato di alcuni ingressi digitali dell'unità

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

237

Capitolo 9

Istruzioni di comunicazione
Il valore "278" indica 27,8 Hz.
Per maggiori informazioni sui bit della parola stato logico, sulle descrizioni dei codici di errore, sulle velocità effettive e comandate e altri codici di stato, fare riferimento al manuale utente PowerFlex.

Configurazione lettura MSG_MODBUS
Nell'immagine seguente sono illustrate le opzioni relative al blocco di istruzioni MSG_MODBUS usato per leggere i dati dello stato dall'unità PowerFlex 40.

Variabile
*.Channel *.TriggerType *.Cmd *.ElementCnt *.Addr *.Node *_laddr[1] *_laddr[2]
*_laddr[3] *_laddr[4]

Variabili lettura MSG_MODBUS

Nella seguente tabella sono riportate le variabili e i valori utilizzati per configurare l'istruzione MSG_MODBUS in modo tale da leggere i dati dello stato dall'unità PowerFlex 40.

Valore
5 0 3 4 8449 2 {data} {data}
{data} {data}

Descrizione
Canale 5: posizione del modulo SERIALISOL Trigger per transizioni da False a True Codice funzione Modbus "03": lettura registri di mantenimento Lunghezza Indirizzo parola stato logico PowerFlex + 1 Indirizzo nodo PowerFlex Parola stato logico PowerFlex Codice di errore PowerFlex
Velocità comandata PowerFlex (riferimento velocità) Feedback velocità PowerFlex (velocità effettiva)

238

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di istruzione MOV

Capitolo 9

Istruzioni di comunicazione

Nella seguente immagine è illustrato un esempio d'uso dell'istruzione MOV per spostare il valore dell'array *_l[1] in una parola, in modo tale da accedere direttamente ai bit individuali.

Esempio di scrittura Modbus
La seguente istruzione MSG_MODBUS consente di scrivere i dati di controllo nell'unità PowerFlex 40.

Configurazione scrittura MSG_MODBUS
Nella seguente immagine sono illustrate le variabili e i valori utilizzati per configurare l'istruzione MSG_MODBUS in modo tale da scrivere i dati di controllo nell'unità PowerFlex 40.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

239

Capitolo 9

Istruzioni di comunicazione
Variabili di scrittura MSG_MODBUS

La tabella seguente elenca le variabili con i relativi valori e ne descrive lo scopo.

Variabile
*.Channel *.TriggerType *.Cmd *.ElementCnt *.Addr *.Node *_laddr[1] *_laddr[2]

Valore
5 0 16 2 8193 2 {data} {data}

Descrizione
Canale 5: posizione del modulo SERIALISOL Trigger per transizioni da False a True Codice funzione Modbus "16": scrittura registri di mantenimento Lunghezza Indirizzo parola stato logico PowerFlex + 1 Indirizzo nodo PowerFlex Parola comando logico PowerFlex Parola riferimento velocità PowerFlex

Vedere anche
MSG_MODBUS a pagina 196 Utilizzo dei blocchi funzione di comunicazione (messaggistica) a pagina 215

Supporto per protocolli di comunicazione
Protocollo di messaggistica Server e client Modbus/RTU
Server e client Modbus/TCP Server e client Ethernet IP
Server e client CIP seriale ASCII

I blocchi funzione MSG_CIP supportano diversi protocolli di comunicazione, come descritto in questa sezione.

Supporto del blocco funzione per i protocolli di comunicazione dei messaggi.

Supporto per comunicazione

Utilizzare questo blocco funzione

Tramite una porta seriale configurata come MSG_MODBUS a pagina 196 Modbus RTU.

Tramite Ethernet, invece di una porta seriale. MSG_MODBUS2 a pagina 202

Mediante un canale Ethernet integrato.

MSG_CIPSYMBOLIC a pagina 191

MSG_CIPGENERIC a pagina 182

Cavo Ethernet o seriale.

MSG_CIPSYMBOLIC a pagina 191

Tramite una porta RS-232 configurata con un Vedere le istruzioni della porta seriale ASCII. driver ASCII.

Modbus RTU
Modbus è un protocollo per le comunicazioni master-slave, half-duplex che permette a un singolo master di comunicare con un massimo di 247 dispositivi slave. Il master di rete Modbus legge e scrive i bit e i registri. Modbus RTU è supportato configurando la porta seriale come Modbus RTU.
Per maggiori informazioni sul protocollo Modbus, fare riferimento alle relative specifiche, disponibili all'indirizzo http://www.modbus.org.

240

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Modbus/TCP

Capitolo 9

Istruzioni di comunicazione

Il protocollo di comunicazione server Modbus/TCP utilizza le stesse funzioni di mapping Modbus di Modbus RTU, ma è supportato via Ethernet, anziché tramite una porta seriale.
Il controllore Micro850 supporta fino a 16 connessioni server Modbus/TCP simultanee. L'unica configurazione di protocollo richiesta è quella della tabella di mapping Modbus.

EtherNet/IP
I controllori Micro820 e Micro850 supportano fino a 16 connessioni server EtherNet/IP simultanee tramite un canale di comunicazione Ethernet integrato. Questo canale consente di connettere un controllore Micro850 a vari dispositivi tramite una rete locale con velocità di trasferimento 10 Mbps/100 Mbps.

Common Industrial Protocol (CIP)
Il protocollo CIP è un protocollo di trasporto, a livello di applicazione, impiegato per la messaggistica su reti EtherNet/IP, ControlNet e DeviceNet. Questo protocollo permette di connettere facilmente i moduli HMI a un controllore Micro830 o Micro850.

Messaggistica esplicita CIP
Per la messaggistica esplicita si utilizza il protocollo CIP. La messaggistica esplicita (configurazione, raccolta dati e diagnostica) serve a trasferire i dati che non richiedono l'aggiornamento costante. La messaggistica esplicita è supportata con la messaggistica CIP client generica mediante il blocco funzione MSG_CIPGENERIC e con la messaggistica CIP client simbolica mediante il blocco funzione MSG_CIPSYMBOLIC.

CIP seriale
Il CIP seriale utilizza il protocollo Full-Duplex DF1 e fornisce una connessione da punto a punto tra due dispositivi. Combina la trasparenza dei dati (specifica American National Standards Institute, ANSI - X3.28-1976 sottocategoria D1) e la trasmissione simultanea a 2 vie con risposte integrate (sottocategoria F1)
I controllori Micro830 e Micro850 supportano il CIP seriale tramite una connessione RS-232 ai dispositivi esterni, quali computer con software RSLinx Classic in esecuzione, terminali del componente PanelView (revisioni del firmware 1.70 e successive) o altri controllori che supportano il CIP seriale via DF1 full-duplex, come i controllori ControlLogix e CompactLogix dotati di porte seriali integrate.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

241

Capitolo 9

Istruzioni di comunicazione
Il driver della porta seriale può essere configurato come CIP seriale, Modbus RTU, ASCII o Shutdown tramite la struttura di configurazione del dispositivo.

Vedere anche
Istruzioni porta seriale ASCII a pagina 111 Canali di comunicazione integrati a pagina 242

Canali di comunicazione integrati

I controllori Micro820, Micro830 e Micro850 dispongono dei seguenti canali di comunicazione aggiuntivi integrati:
· Una porta combinata RS-232/485 non isolata · Una porta di programmazione USB non isolata (solo Micro830 e
Micro850) · Una porta Ethernet RJ-45 (solo Micro820 e Micro850)

Vedere anche
Supporto per protocolli di comunicazione a pagina 240

242

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzioni per il confronto

Capitolo 10

Istruzione

Utilizzare le istruzioni Compare per confrontare i valori Integer, Real, Time, Date e String utilizzando un'espressione o un'istruzione di confronto specifica.
Descrizione

(=) Equal a pagina 243
(>) Greater Than a pagina 246 (>=) Greater Than or Equal a pagina 247
(<) Less Than a pagina 249 (<=) Less Than or Equal a pagina 250
(<>) Not Equal a pagina 251

Confronta il primo ingresso con il secondo per stabilire l'uguaglianza. Per i tipi di dati Integer, Real, Time, Date e String. Confronta i valori di ingresso per determinare se il primo è maggiore del secondo. Confronta i valori di ingresso per determinare se il primo è maggiore o uguale al secondo. Confronta i valori di ingresso per determinare se il primo è minore del secondo. Confronta i valori di ingresso per determinare se il primo è minore o uguale al secondo.
Confronta i valori di ingresso per determinare se il primo non è uguale al secondo.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

Uguale

Esegue il confronto tra il primo ingresso e il secondo per stabilire l'uguaglianza di tipi di dati Integer, Real, Time, Date e String.
Dettagli operazione:
· La prova di uguaglianza dei valori Time non è raccomandata per i blocchi istruzione TON, TP e TOF.
· Il tipo di dati Real è sconsigliato durante il confronto dei valori per l'uguaglianza, poiché i numeri nell'operazione matematica sono arrotondati in maniera diversa rispetto a quelli visualizzati sul display di Uscita delle variabili. Di conseguenza, due valori di uscita possono sembrare uguali sul display, tuttavia la valutazione risulterà comunque falsa. Ad esempio, dal confronto di 23,500001 con 23,499999, entrambi vengono visualizzati come 23,5 sul display di ingresso delle variabili, ma nel controllore non saranno uguali.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

243

Capitolo 10

Istruzioni per il confronto

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
i2
o1 244

Tipo di parametro Ingresso Ingresso
Ingresso
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING BOOL SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING BOOL

Abilitare funzione. TRUE: esegue il confronto di uguaglianza. FALSE: il confronto non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Tutti gli ingressi devono essere dello stesso tipo di dati. L'inserimento del valore Durata si applica ai linguaggi Testo strutturato, Diagramma ladder e Programmazione a blocchi funzionali. il tipo di dati Real non è raccomandato.
TRUE se i1 = i2.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 10 Istruzioni per il confronto
Esempio di confronto dei valori reali mediante sottrazione (-) ABS e
Less than (<)
Il tipo di dati Reale non è consigliabile per confrontare l'uguaglianza dei valori a causa delle differenze nell'arrotondamento dei numeri. Due valori di uscita potrebbero sembrare uguali su un display Connected Components Workbench, ma comunque valutati come false.
Ad esempio, 23,500001 e 23,499999 saranno visualizzati entrambi come 23,5 in sul display di ingresso delle variabili, tuttavia nel controllore non saranno uguali.
Per verificare se due dati di tipo reale sono uguali, è possibile usare l'istruzione Sottrazione per ottenere la differenza tra i valori e quindi determinare se la differenza è inferiore a un valore con precisione stabilita. Vedere l'esempio seguente di programma LD per il confronto tra i valori di due dati di tipo reale.

Esempio di testo strutturato Equal (=)
(* Equivalenza ST: *)
aresult := (10 = 25); (* aresult è FALSE *)

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

245

Capitolo 10 Istruzioni per il confronto

mresult := ('ab' = 'ab'); (* mresult è TRUE *)

Vedere anche
Istruzioni per il confronto a pagina 243

Greater than

Per i valori Integer, Real, Time, Date e String, confronta i valori di ingresso per stabilire se il primo è maggiore del secondo.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN
i1

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso Ingresso

BOOL
SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING

Abilitazione istruzioni. TRUE: esegue il confronto dell'ingresso. FALSE: il confronto non viene eseguito. Applicabile solo alle programmazioni in Ladder Diagram. Tutti gli ingressi devono essere dello stesso tipo di dati.

246

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

i2

Ingresso

SINT

USINT

- BYTE

INT

UINT

WORD

DINT

UDINT

DWORD

LINT

ULINT

LWORD

REAL

LREAL

TIME

DATE

STRING

o1

Uscita

BOOL

Capitolo 10 Istruzioni per il confronto TRUE se i1 > i2.

Esempio di Testo strutturato maggiore di (>)
(* Equivalenza ST: *)
aresult := (10 > 25); (* aresult è FALSE *) mresult := ('ab' > 'a'); (* mresult è TRUE *)
Vedere anche
Istruzioni per il confronto a pagina 243

Greater than or equal

Per i valori Integer, Real, Time, Date e String, confronta i valori di ingresso per stabilire se il primo è maggiore o uguale al secondo.
Per TON, TP e TOF, la prova di uguaglianza dei valori Time non è consigliata.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

247

Capitolo 10 Parametri EN i1
i2
o1

Istruzioni per il confronto

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Abilitazione istruzioni. TRUE: esegue il confronto dell'ingresso. FALSE: il confronto non avviene. Applicabile solo alle programmazioni in Ladder Diagram.

Ingresso Ingresso Uscita

SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING BOOL

Tutti gli ingressi devono essere dello stesso tipo di dati. L'inserimento del valore Durata si applica ai linguaggi Testo strutturato, Diagramma ladder e Programmazione a blocchi funzionali.
TRUE se i1 >= i2.

Esempio di Testo strutturato maggiore o uguale (> =)
(* Equivalenza ST: *)
aresult := (10 >= 25); (* aresult è FALSE *) mresult := ('ab' >= 'ab'); (* mresult è TRUE *)

Vedere anche
Istruzioni per il confronto a pagina 243

248

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Less than

Capitolo 10 Istruzioni per il confronto
Per i valori Integer, Real, Time, Date e String, confronta i valori di ingresso per stabilire se il primo è inferiore al secondo. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
i1

Tipo di parametro Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati
BOOL
SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING

Descrizione
Abilitazione istruzioni. TRUE: esegue il confronto dell'ingresso. FALSE: il confronto non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Tutti gli ingressi devono essere dello stesso tipo di dati.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

249

Capitolo 10 i2
o1

Istruzioni per il confronto

Ingresso Uscita

SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING BOOL

TRUE se i1 < i2.

Esempio di testo strutturato minore di (>)

(* Equivalenza ST: *)
aresult := (10 < 25); (* aresult è TRUE *) mresult := ('z' < 'B'); (* mresult è FALSE *)
(* Equivalenza IL: *)

LD

10

LT

25

ST

aresult

LD

'z'

LT

'B'

ST

mresult

Vedere anche
Istruzioni per il confronto a pagina 243

Less than or equal

Per i valori Integer, Real, Time, Date e String, confronta i valori di ingresso per stabilire se il primo è inferiore o uguale al secondo.
Per TON, TP e TOF, la prova di uguaglianza dei valori Time non è consigliata.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

250

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 10 Istruzioni per il confronto
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN i1
i2 o1

Tipo di parametro Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
SINT - USINT - BYTE - INT UINT - WORD - DINT - UDINT DWORD - LINT - ULINT - LWORD - REAL - LREAL - TIME - DATE STRING

Abilitazione istruzioni. TRUE: esegue il confronto dell'ingresso. FALSE: il confronto non avviene. Applicabile solo alle programmazioni in Ladder Diagram.
Tutti gli ingressi devono essere dello stesso tipo di dati. L'inserimento del valore Durata si applica ai linguaggi Testo strutturato, Diagramma ladder e Programmazione a blocchi funzionali.

Ingresso Uscita

SINT - USINT - BYTE - INT UINT - WORD - DINT - UDINT DWORD - LINT - ULINT - LWORD - REAL - LREAL - TIME - DATE STRING
BOOL

TRUE se i1 <= i2.

Esempio di testo strutturato minore o uguale (> =)
(* Equivalenza ST: *)
aresult := (10 <= 25); (* aresult è TRUE *) mresult := ('ab' <= 'ab'); (* mresult è TRUE *)

Vedere anche
Istruzioni per il confronto a pagina 243

Not equal

Per i valori Integer, Real, Time, Date e String, confronta i valori di ingresso per stabilire se il primo non è uguale al secondo.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

251

Capitolo 10

Istruzioni per il confronto

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
i2
o1 252

Tipo di parametro Ingresso Ingresso
Ingresso
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING BOOL SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo di confronto corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Tutti gli ingressi devono essere dello stesso tipo di dati.
TRUE: se il primo <> secondo.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 10
Esempio di Testo strutturato Not equal (<>)

Istruzioni per il confronto

(* Equivalenza ST: *)
aresult := (10 <> 25); (* aresult è TRUE *) mresult := ('ab' <> 'ab'); (* mresult è FALSE *)

Vedere anche
Istruzioni per il confronto a pagina 243

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

253

Istruzioni contatore

Capitolo 11

Istruzione
CTD a pagina 255 CTU a pagina 257 CTUD a pagina 259

Utilizzare le istruzioni contatore per controllare le operazioni in base al numero di eventi.
Descrizione
Conta gli Integer da un valore dato fino a 0, 1 a 1.
Conta gli Integer da 0 fino a un valore dato, 1 a 1. Conta gli Integer da 0 fino a un valore dato, 1 a 1, o da un valore dato a 0, 1 a 1.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

CTD (conteggio decrescente)

Conta gli Integer da un valore dato fino a 0, 1 a 1.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro CD
LOAD PV

Tipo di parametro Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Esegue il conteggio decrescente.

TRUE: fronte di salita rilevato, conteggio decrescente con incrementi di uno.

FALSE: fronte di discesa rilevato, tenere premuto il valore del contatore con lo stesso

valore.

Ingresso Ingresso

BOOL

Carica verifica il valore PV rispetto al valore del conteggio decrescente.

TRUE - set CV=PV.

FALSE: continua incrementando il conteggio decrescente di uno.

DINT

Valore massimo programmato del contatore.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

255

Capitolo 11 Istruzioni contatore

Q

Uscita

BOOL

CV

Uscita

DINT

Indica se l'istruzione del conteggio decrescente ha generato un numero minore o uguale al valore massimo del contatore. TRUE: risultato contatore < = 0 (condizione di Underflow). FALSE: risultato contatore >0. Valore del contatore corrente.

Esempio di programmazione a blocchi funzionali CTD

Esempio di Diagramma ladder CTD

Esempio di testo strutturato CTD

(*Equivalenza ST: CTD1 è un'istanza del blocco *) CTD1(trigger,load_cmd,100); underflow := CTD1.Q; result := CTD1.CV;

256

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 11 Istruzioni contatore

Vedere anche
Istruzioni contatore a pagina 255

CTU (conteggio crescente)

CTU conta (numeri interi) da 0 fino a un valore dato, 1 a 1.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro CU
RESET PV Q
CV

Tipo di parametro Ingresso
Ingresso Ingresso Uscita
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Esegue il conteggio crescente.

TRUE: fronte di salita rilevato, conteggio crescente con incrementi di uno.

FALSE: fronte di discesa rilevato, tenere premuto il valore del contatore con lo stesso valore.

BOOL

Reset verifica il valore PV rispetto al valore del conteggio crescente.

TRUE: imposta il valore CV a zero.

FALSE: continuare incrementando il conteggio crescente di uno.

DINT

Valore massimo programmato del contatore.

BOOL

Indica se l'istruzione del conteggio crescente ha generato un numero maggiore o

uguale al valore massimo del contatore.

TRUE: risultato contatore =>PV (condizione di Overflow).

FALSE: risultato contatore < PV

DINT

Risultato del contatore corrente.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

257

Capitolo 11 Istruzioni contatore

Esempi di programmazione a blocchi funzionali CTU

Esempio di Diagramma ladder CTU
Esempio di testo strutturato CTU
(* Equivalenza ST: CTU1 è un'istanza del blocco CTU*)
CTU1(trigger,NOT(auto_mode),100); overflow := CTU1.Q; result := CTU1.CV;

258

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 11 Istruzioni contatore

Vedere anche
Istruzioni contatore a pagina 255

CTUD (conteggio crescente decrescente)

Conta gli Integer da 0 fino a un valore dato, 1 a 1, o da un valore dato a 0, 1 a 1.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro CU CD RESET
LOAD PV

Tipo di parametro Ingresso Ingresso Ingresso
Ingresso Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati Descrizione

BOOL

TRUE: fronte di salita rilevato, conteggio crescente.

BOOL

TRUE: fronte di salita rilevato, conteggio decrescente.

BOOL

Ripristina comando dominante (priorità massima durante la definizione del comportamento delle

istruzioni).

(CV = 0 quando RESET è TRUE).

BOOL

Carica comando.

TRUE: imposta CV = PV.

DINT

Valore massimo programmato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

259

Capitolo 11 Istruzioni contatore

QU

Uscita

BOOL

QD

Uscita

BOOL

CV

Uscita

DINT

Overflow. TRUE: se CV >= PV. Underflow. TRUE: se CV <= 0. Risultato contatori.

Esempio di programmazione a blocchi funzionali CTUD

Esempio di diagramma ladder CTUD

260

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di testo strutturato CTUD

Capitolo 11 Istruzioni contatore

(* Equivalenza ST: supponiamo che CTUD1 sia un'istanza del blocco*)
CTUD1(trigger1, trigger2, reset_cmd, load_cmd,100); full := CTUD1.QU; empty := CTUD1.QD; nb_elt := CTUD1.CV;
Vedere anche
Istruzioni contatore a pagina 255

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

261

Istruzioni per la conversione dati

Capitolo 12

Utilizzare le istruzioni di conversione dei dati per convertire il tipo di dati di una variabile in un tipo diverso.

Istruzione

Descrizione

ANY_TO_BOOL a pagina 263
ANY_TO_BYTE a pagina 264 ANY_TO_DATE a pagina 265 ANY_TO_DINT a pagina 267 ANY_TO_DWORD a pagina 268 ANY_TO_INT a pagina 269 ANY_TO_LINT a pagina 270 ANY_TO_LREAL a pagina 272 ANY_TO_LWORD a pagina 273 ANY_TO_REAL a pagina 274 ANY_TO_SINT a pagina 275 ANY_TO_STRING a pagina 276
ANY_TO_TIME a pagina 277 ANY_TO_UDINT a pagina 278 ANY_TO_UINT a pagina 279 ANY_TO_ULINT a pagina 280 ANY_TO_USINT a pagina 281 ANY_TO_WORD a pagina 282

Converte un valore non booleano in uno booleano.
Converte un valore in un byte. Converte un tipo di dati String, Integer, Real o Time in un tipo di dati Date. Converte un valore in Double Integer. Converte un valore in un valore Double Word. Converte un valore in Integer. Converte un valore in Long Integer. Converte un valore in Long Real. Converte un valore in Long Word. Converte un valore in Real. Converte un valore in Short Integer. Converte un valore in String.
Converte un valore in un tipo di dati Time. Converte un valore in Unsigned Double Integer. Converte un valore in Unsigned Integer. Converte un valore in Unsigned Long Integer. Converte un valore in Unsigned Short Integer. Converte un valore in Word.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

ANY_TO_BOOL

Converte un valore non booleano in un valore booleano.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

263

Capitolo 12 Istruzioni per la conversione dati

Parametri

Tipo di parametro Tipo di dati

EN

Ingresso

BOOL

i1

Ingresso

SINT

USINT

BYTE

INT

UINT

WORD

DINT

UDINT

DWORD

LINT

ULINT

LWORD

REAL

LREAL

TIME

DATE

STRING

o1

Uscita

BOOL

Descrizione Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Booleano. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Qualsiasi valore non Boolean.
Valore Boolean.

Esempio di testo strutturato ANY_TO_BOOL

(* Equivalenza ST: *)

ares := ANY_TO_BOOL (10);
tres := ANY_TO_BOOL (t#0s); mres := ANY_TO_BOOL ('FALSE');

(* ares è TRUE *)
(* tres è FALSE *) (* mres è FALSE *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

ANY_TO_BYTE

Converte un valore in Byte a 8 bit.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

264

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri EN

Tipo di parametro Ingresso

Tipo di dati BOOL

i1

Ingresso

BOOL

SINT

USINT INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL

TIME

DATE

STRING

o1

Uscita

BYTE

ENO

Uscita

BOOL

Capitolo 12 Istruzioni per la conversione dati Descrizione Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Byte. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Qualsiasi valore non Byte.
Un valore Byte a 8 bit. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_BYTE

(* Equivalenza ST: *)

bres := ANY_TO_BYTE (true);
tres := ANY_TO_BYTE (t#0s46ms); mres := ANY_TO_BYTE ('0198');

(* bres è 1 *)
(* tres è 46 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

ANY_TO_DATE

Converte un tipo di dati String, Integer, Real o Time in un tipo di dati Date.
I tipi di dati Boolean, Byte e Word sono supportati ma non consigliati.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

265

Capitolo 12

Istruzioni per la conversione dati
Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Parametro

Tipo di parametro Tipo di dati

Descrizione

EN

Ingresso

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della conversione in Date.

FALSE: il calcolo non avviene.

Applicabile solo alle programmazioni in Ladder Diagram.

i1

Ingresso

BOOL

· Le stringhe vengono convertite direttamente nel tipo di dati DATE e devono essere nel formato

SINT

YYYY-MM-DD, DATE#YYYY-MM-DD o D#YYYY-MM-DD.

USINT

· I tipi Integer e Real, che devono essere positivi, sono in unità di secondi e vengono aggiunti alla

BYTE

data 1970-01-01.

INT

· Time viene aggiunto alla data 1970-01-01.

UINT

WORD

DINT

UDINT

DWORD

LINT

ULINT

LWORD

REAL

LREAL

TIME

STRING

o1

Uscita

DATE

Valore della data convertita. Gli errori durante la conversione, ad esempio una data negativa,

generano un risultato NON VALIDO.

ENO

Uscita

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram.

ANY_TO_DATE esempio di programmazione a blocchi funzionali
ANY_TO_DATE

Esempio di diagramma ladder ANY_TO_DATE

266

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 12
Esempio di testo strutturato ANY_TO_DATE

Istruzioni per la conversione dati

ANY_TO_DINT

Vedere anche
Istruzioni per la conversione dati a pagina 263
Converte un valore in Double Integer a 32 bit. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN

Tipo di parametro Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della conversione a Double Integer a 32 bit.

FALSE: il calcolo non avviene.

Applicabile solo alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

267

Capitolo 12 i1
o1 ENO

Istruzioni per la conversione dati

Ingresso
Uscita Uscita

BOOL SINT USINT BYTE INT UINT WORD UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING
DINT
BOOL

Qualsiasi valore diverso da Double Integer.
Un valore Double Integer a 32 bit. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_DINT

(* Equivalenza ST: *)

bres := ANY_TO_DINT (true);
tres := ANY_TO_DINT (t#1s46ms); mres := ANY_TO_DINT ('0198');

(* bres è 1 *)
(* tres è 1046 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

ANY_TO_DWORD

Converte un valore in Double Word a 32 bit.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

268

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

EN

Ingresso

BOOL

i1

Ingresso

BOOL

SINT

USINT

BYTE

INT

UINT

WORD

DINT

UDINT

LINT

ULINT

LWORD

REAL

LREAL

TIME

DATE

STRING

o1

Uscita

DWORD

ENO

Uscita

BOOL

Capitolo 12 Istruzioni per la conversione dati Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Double Word a 32 bit. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore diverso da double Word.
Un valore double Word a 32 bit. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_DWORD

(* Equivalenza ST: *)

bres := ANY_TO_DWORD (true);
tres := ANY_TO_DWORD (t#1s46ms); mres := ANY_TO_DWORD ('0198');

(* bres è 1 *)
(* tres è 1046 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

ANY_TO_INT

Converte un valore in Integer a 16 bit.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

269

Capitolo 12

Istruzioni per la conversione dati
Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Parametri

Tipo di parametro Tipo di dati

Descrizione

EN

Ingresso

BOOL

i1

Ingresso

BOOL

SINT

USINT

BYTE

UINT

WORD

DINT

UDINT

DWORD

LINT

ULINT

LWORD

REAL

LREAL

TIME

DATE

STRING

o1

Uscita

INT

ENO

Uscita

BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Integer a 16 bit. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore Integer non a 16 bit.
Un valore Integer a 16 bit. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_INT

(* Equivalenza ST: *)

bres := ANY_TO_INT (true);
tres := ANY_TO_INT (t#0s46ms); mres := ANY_TO_INT ('0198');

(* bres è 1 *)
(* tres è 46 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

ANY_TO_LINT

Converte un valore in Long Integer a 64 bit.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

270

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 12 Istruzioni per la conversione dati
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
o1 ENO

Tipo di parametro Ingresso Ingresso
Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING LINT
BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Long Integer a 64 bit. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore diverso da Long Integer.
Un valore Long Integer a 64 bit. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_LINT

(* Equivalenza ST: *)

bres := ANY_TO_LINT (true);
tres := ANY_TO_LINT (t#0s46ms); mres := ANY_TO_LINT ('0198');

(* bres è 1 *)
(* tres è 46 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

271

Capitolo 12 Istruzioni per la conversione dati

ANY_TO_LREAL

Converte un valore in Long Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
o1 ENO

Tipo di parametro Ingresso Ingresso
Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL TIME DATE STRING LREAL
BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Long Real. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore diverso da long Real.
Un valore long Real. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_LREAL

(* Equivalenza ST: *)

bres := ANY_TO_LREAL (true);
tres := ANY_TO_LREAL (t#1s46ms); ares := ANY_TO_LREAL (198);

(* bres è 1,0 *)
(* tres è 1046,0 *) (* ares è 198,0 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

272

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

ANY_TO_LWORD

Capitolo 12 Istruzioni per la conversione dati
Converte un valore in Long Word a 64 bit.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
o1 ENO

Tipo di parametro Ingresso Ingresso
Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT REAL LREAL IME DATE STRING LWORD BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Long Word a 64 bit. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore diverso da Long Word.
Un valore Long Word a 64 bit. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_LWORD

(* Equivalenza ST: *)

bres := ANY_TO_LWORD (true);
tres := ANY_TO_LWORD (t#0s46ms); mres := ANY_TO_LWORD ('0198');

(* bres è 1 *)
(* tres è 46 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

273

Capitolo 12 Istruzioni per la conversione dati

ANY_TO_REAL

Converte un valore in Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
o1 ENO

Tipo di parametro Ingresso Ingresso
Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD LREAL TIME DATE STRING REAL
BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Real. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore diverso da Real.
Un valore Real. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_REAL

(* Equivalenza ST: *)

bres := ANY_TO_REAL (true);
tres := ANY_TO_REAL (t#1s46ms); ares := ANY_TO_REAL (198);

(* bres è 1,0 *)
(* tres è 1046,0 *) (* ares è 198,0 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

274

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

ANY_TO_SINT

Capitolo 12 Istruzioni per la conversione dati
Converte un valore in Short Integer.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
o1 ENO

Tipo di parametro Ingresso Ingresso
Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING SINT BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Short Integer a 8 bit. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore non-Short Integer.
Qualsiasi valore Short Integer. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_SINT

(* Equivalenza ST: *)

bres := ANY_TO_SINT (true);
tres := ANY_TO_SINT (t#0s46ms); mres := ANY_TO_SINT ('0198');

(* bres è 1 *)
(* tres è 46 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

275

Capitolo 12 Istruzioni per la conversione dati

ANY_TO_STRING

Converte un valore in String. Dettagli operazione:

· Durante la conversione di un tipo di dati REAL in una stringa, l'istruzione ANY_TO_STRING utilizza il formato di IEEE 754.
· ANY_TO_STRING converte da 125.0 a 1.25000E + 02
· Se la lunghezza della stringa di destinazione è di 5 caratteri:
· ANY_TO_STRING converte da 125.0 a 1.25000E+02 e le uscite da 1.250 alla stringa di destinazione.
· Considerare la creazione di un blocco funzione definito dall'utente per convertire dalla notazione esponenziale al numero.

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
o1 276

Tipo di parametro Ingresso Ingresso
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING

Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in String. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore diverso da String.
Se IN è Boolean, '"FALSE" o "TRUE". Se IN è Integer o Real, rappresentazione decimale. Se IN è TIME, può essere: TIME time1 STRING s1 time1 :=13 ms; s1:=ANY_TO_STRING(time1); (* s1 = '0s13' *).

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

ENO

Uscita

ANY_TO_TIME

Capitolo 12 Istruzioni per la conversione dati

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_STRING

(* Equivalenza ST: *)

bres := ANY_TO_STRING (TRUE); ares := ANY_TO_STRING (125);

(* bres è 'TRUE' *) (* ares è '125' *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

Converte un valore diverso da Time o Date in un valore Time.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
o1

Tipo di parametro Ingresso Ingresso
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL SINT USINT BYTE INT UINT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL STRING TIME

Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Time. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore positivo diverso da un tipo di dati Time o Date. IN (o parte di integer di IN se è real) è il numero di millisecondi. STRING (numero di millisecondi, ad esempio, un valore di 300032 rappresenta 5 minuti e 32 millisecondi).
Valore Time rappresentato da IN. Un valore di 1193h2m47s295ms non è valido.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

277

Capitolo 12 ENO

Istruzioni per la conversione dati

Uscita

BOOL

Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_TIME

(* Equivalenza ST: *)

ares := ANY_TO_TIME (1256); rres := ANY_TO_TIME (1256.3);

(* ares := t#1s256ms *) (* rres := t#1s256ms *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

ANY_TO_UDINT

Converte un valore in Unsigned Double Integer a 32 bit.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN i1
o1 278

Tipo di parametro Ingresso Ingresso
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL SINT USINT BYTE INT UINT WORD DINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING UDINT

Abilitazione istruzioni. TRUE: esegue il calcolo della conversione a Double Integer a 32 bit. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore diverso da Unsigned Double Integer.
Un valore Unsigned Double Integer a 32 bit.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

ENO

Uscita

ANY_TO_UINT

Capitolo 12 Istruzioni per la conversione dati

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_UDINT

(* Equivalenza ST: *)

bres := ANY_TO_UDINT (true);
tres := ANY_TO_UDINT (t#1s46ms); mres := ANY_TO_UDINT ('0198');

(* bres è 1 *)
(* tres è 1046 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

Converte un valore in Unsigned Integer.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN
i1

Tipo di parametro Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL SINT USINT BYTE INT WORD DINT UDINT DWORD LINT ULINT LWORD REAL LREAL TIME DATE STRING

Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Unsigned Integer a 16 bit. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore non-Unsigned Integer.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

279

Capitolo 12 o1 ENO

Istruzioni per la conversione dati

Uscita

UINT

Uscita

BOOL

Un valore Unsigned Integer.
Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_UINT

(* Equivalenza ST: *)

bres := ANY_TO_UINT (true);
tres := ANY_TO_UINT (t#0s46ms); mres := ANY_TO_UINT ('0198');

(* bres è 1 *)
(* tres è 46 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

ANY_TO_ULINT

Converte un valore in Unsigned Long Integer a 64 bit.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN

Tipo di parametro Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo della conversione in Unsigned Long Integer a 64 bit.

FALSE: il calcolo non avviene.

Applicabile solo alle programmazioni in Ladder Diagram.

280

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

i1

Ingresso

BOOL

SINT

USINT

BYTE

INT

UINT

WORD

DINT

UDINT

DWORD

LINT

LWORD

REAL

LREAL

TIME

DATE

STRING

o1

Uscita

ULINT

ENO

Uscita

BOOL

Capitolo 12 Istruzioni per la conversione dati Qualsiasi valore diverso da Unsigned Long Integer.
Un valore Unsigned Long Integer a 64 bit. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_ULINT

(* Equivalenza ST: *)

bres := ANY_TO_ULINT (true);
tres := ANY_TO_ULINT (t#0s46ms); mres := ANY_TO_ULINT ('0198');

(* bres è 1 *)
(* tres è 46 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

ANY_TO_USINT

Converte un valore in Unsigned Short Integer.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

281

Capitolo 12 EN

Istruzioni per la conversione dati

Ingresso

BOOL

i1

Ingresso

BOOL

SINT

BYTE

INT

UINT

WORD

DINT

UDINT

DWORD

LINT

ULINT

LWORD

REAL

LREAL

TIME

DATE

STRING

o1

Uscita

USINT

ENO

Uscita

BOOL

Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Unsigned Short Integer a 8 bit. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore non-Short Integer.
Un valore Unsigned Short Integer. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_USINT

(* Equivalenza ST: *)

bres := ANY_TO_USINT (true);
tres := ANY_TO_USINT (t#0s46ms); mres := ANY_TO_USINT ('0198');

(* bres è 1 *)
(* tres è 46 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

ANY_TO_WORD

Converte un valore in Word a 16 bit.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

282

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri EN

Tipo di parametro Ingresso

Tipo di dati BOOL

i1

Ingresso

BOOL

SINT

USINT

BYTE

INT

DINT

UDINT

DWORD

LINT

ULINT

LWORD

REAL

LREAL

TIME

DATE

STRING

o1

Uscita

WORD

ENO

Uscita

BOOL

Capitolo 12 Istruzioni per la conversione dati Descrizione Abilitazione istruzioni. TRUE: esegue il calcolo della conversione in Word a 16 bit. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Qualsiasi valore diverso da un valore WORD.
Un valore Word. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di testo strutturato ANY_TO_WORD

(* Equivalenza ST: *)

bres := ANY_TO_WORD (true);
tres := ANY_TO_WORD (t#0s46ms); mres := ANY_TO_WORD ('0198');

(* bres è 1 *)
(* tres è 46 *) (* mres è 198 *)

Vedere anche
Istruzioni per la conversione dati a pagina 263

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

283

MEDIA

Capitolo 13
Istruzioni per l'elaborazione dei dati

Utilizzare le istruzioni per l'elaborazione dei dati per modificare i dati di uscita e lo stato senza modificare il programma.

Istruzione

Descrizione

AVERAGE a pagina 285 COP a pagina 287 MAX a pagina 294 MIN a pagina 292

Calcola una media in esecuzione su un numero di un campioni definito. Copia i dati binari nell'elemento di origine per l'elemento di destinazione. Calcola il valore massimo tra due valori interi. Calcola il valore minimo tra due valori interi.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

Calcola una media in movimento su un numero di campioni definito e memorizza il valore per ogni ciclo.
Dettagli operazione:
· Il numero definito di campioni (N) non deve superare 127. · Quando si imposta o si cambia il valore di N, impostare RUN su
FALSE, quindi nuovamente su TRUE. · Se il comando RUN è FALSE (modalità reset), il valore di uscita
è uguale al valore di ingresso. · Al raggiungimento del numero massimo di valori archiviati, il
primo valore archiviato viene cancellato dall'ultimo. · usando i tipi di dati in virgola mobile, i calcoli potrebbero essere
imprecisi a causa delle limitazioni nell'arrotondamento con le operazioni matematiche in virgola mobile.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

285

Capitolo 13

Istruzioni per l'elaborazione dei dati
Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Parametro
RUN
XIN N XOUT ENO

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita

Tipo di dati
BOOL
REAL DINT REAL BOOL

Descrizione
TRUE = esecuzione FALSE = reset Qualsiasi variabile reale. Numero di campioni definito dall'applicazione. Esecuzione della media dei valori XIN. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali AVERAGE

Esempio di diagramma ladder AVERAGE

Esempio di Testo strutturato AVERAGE

(* Equivalenza ST: AVERAGE1 un'istanza di un blocco AVERAGE *)
AVERAGE1((auto_mode & store_cmd), sensor_value, 100); ave_value := AVERAGE1.XOUT;

286

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Vedere anche

Capitolo 13 Istruzioni per l'elaborazione dei dati

Istruzioni per l'elaborazione dei dati a pagina 285

COP

Copia i dati binari nell'elemento di origine per l'elemento di destinazione. L'elemento di origine rimane invariato.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri Enable Src
SrcOffset

Tipo di parametro Ingresso Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione. COP è attivato in base al livello.

TRUE: esegue la copia.

FALSE: il blocco funzione non è attivo.

BOOL

DWORD

Elemento iniziale da copiare.

SINT

REAL

USINT

TIME

BYTE

DATE

Se l'origine è un tipo di dati STRINGA, la destinazione deve essere un tipo di dati STRINGA o un USINT (UCHAR e BYTE). In caso contrario, viene segnalata una mancata corrispondenza tra tipi di dati.

INT

STRING

UINT

LWORD

WORD

ULINT

DINT

LINT

UDINT

LREAL

UINT

L'offset elemento di origine è utilizzato con i tipi di dati del vettore per identificare la

posizione nel vettore di origine da cui copiare i dati.

Impostare l'offset su 0:

· Se non è un tipo di dati array oppure

· Per copiare dal primo elemento per un tipo di dati array.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

287

Capitolo 13 Dest
DestOffset

Istruzioni per l'elaborazione dei dati

Ingresso

BOOL

SINT

USINT

BYTE

INT

UINT

WORD

DINT

UDINT

Ingresso

UINT

DWORD REAL TIME DATE STRING LWORD ULINT LINT

Lunghezza

Ingresso

UINT

Swap

Ingresso

BOOL

Sts

Uscita

UINT

ENO

Uscita

BOOL

Elemento iniziale da sovrascrivere dall'origine. Se la destinazione è un tipo di dati STRINGA, l'origine deve essere un tipo di dati STRINGA o un USINT (UCHAR e BYTE). In caso contrario, viene segnalata una mancata corrispondenza tra tipi di dati.
L'offset elemento di destinazione è utilizzato con i tipi di dati del vettore per identificare la posizione nel vettore di destinazione in cui copiare i dati. Impostare l'offset su 0: · Se non è un tipo di dati array oppure · Per copiare dal primo elemento per un tipo di dati array. Numero di elementi di destinazione da copiare. Quando la destinazione è un tipo di dati STRINGA, indica il numero di stringhe da copiare. Utilizzato per scambiare i dati dagli elementi di origine e destinazione, in modo che i dati di destinazione sostituiscono i dati di origine e i dati di origine sostituiscono i dati di destinazione. TRUE: scambio dei byte in base al tipo di dati. Un'operazione di scambio non avviene se: · Il tipo di dati di origine o di destinazione è una STRINGA oppure · Sia i dati di origine che quelli di destinazione hanno lunghezza 1 byte. Stato dell'operazione di copia. Le definizioni del parametro Sts sono definite nei codici di stato COP. Abilita l'uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Codice dello stato COP
0x00
0x01 0x02 0x03 0x04 0x05
0x06
0x07 0x08 0x09 0x0A

Codici di stato (Sts) del COP
La tabella seguente descrive i codici di stato del COP.
Descrizione stato
Nessuna azione intrapresa (non abilitato).
Blocco funzione COP con successo. La destinazione presenta byte residui durante la copia dalla stringa. I dati di origine sono troncati. La lunghezza di copia non è valida. Il tipo di dati non corrisponde con il tipo di dati stringa come origine o destinazione. La dimensione dei dati di origine è troppo ridotta per la copia.
La dimensione dei dati di destinazione è troppo ridotta per la copia. Offset dei dati di origine non valido. Offset dei dati di destinazione non valido. I dati non sono validi o nell'origine o nella destinazione.

288

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 13 Istruzioni per l'elaborazione dei dati
Esempio di programmazione a blocchi funzionali COP
Esempio di diagramma ladder COP

Esempio di testo strutturato COP

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

289

Capitolo 13

Istruzioni per l'elaborazione dei dati
Vedere anche
Esempio di array della stringa COP a pagina 290 Istruzioni per l'elaborazione dei dati a pagina 285 Copia in un tipo di dati differente a pagina 290

Copia in un tipo di dati differente

Quando viene eseguita una copia da o in un tipo di dati stringa, per i dati nell'array USINT è utilizzato il formato di stringa breve ODVA. Quando la COP è utilizzata tra qualsiasi altra coppia di tipi di dati, l'operazione di copia è valida, anche se il tipo di dati nell'origine non è dello stesso tipo di quello nella destinazione e anche quando il formato di entrambi non è valido. La logica deve essere convalidata a livello di applicazione.
Da un array USINT a un array stringa
Per copiare un array USINT a un array stringa, i dati nell'array USINT devono essere in questo formato:
· Byte1: lunghezza della prima stringa · Byte2: primo carattere del byte · Byte3: secondo carattere del byte · Byte n: ultimo carattere del byte · Byte (n+1): lunghezza della seconda stringa · Byte (n+2): primo carattere del byte della seconda stringa
Vedere anche
COP a pagina 287

Esempio di array della stringa COP

L'esempio che segue mostra un'istruzione COP che copia un vettore stringa in un vettore Usint. L'istruzione COP ignora tutti gli elementi dell'array sorgente di lunghezza pari a zero.
In questo esempio:
· La lunghezza specificata è pari a 4 byte. · Il numero degli elementi di destinazione da copiare è 4 byte. · Tutti gli elementi dell'array di lunghezza pari a zero (vuoti)
vengono ignorati. · L'istruzione COP trova un elemento di lunghezza diversa da zero
nell'array stringa[1]; questo viene copiato nell'array USINT designato[1] con 1. Uno corrisponde alla lunghezza della stringa nell'array stringa[1] e l'array USINT[2] è 65, ossia il codice ASCII corrispondente ad "A".

290

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 13 Istruzioni per l'elaborazione dei dati
· L'istruzione COP trova un elemento di lunghezza diversa da zero nell'array stringa[10] che corrisponde ad "a"; questo viene copiato nell'array USINT di destinazione[3] con 1. Uno corrisponde alla lunghezza della stringa nell'array stringa[10] e l'array USINT[4] è 97, ossia il codice ASCII corrispondente ad "a".
Ladder diagram

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

291

Capitolo 13

Istruzioni per l'elaborazione dei dati
Elementi dell'array con valori logici

MIN (minimo)

Vedere anche
COP a pagina 287
Calcola il valore minimo tra due valori interi. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

292

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 13 Istruzioni per l'elaborazione dei dati

EN

Ingresso

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo del valore intero minimo.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

IN1

Ingresso

DINT

Qualunque valore intero con segno.

IN2

Ingresso

DINT

Non può essere reale.

MIN

Uscita

DINT

Il minimo dei due valori di ingresso.

ENO

Uscita

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali MIN

Esempio di Diagramma ladder MIN

Esempio di Testo strutturato MIN

(* Equivalenza ST: *) nuovo_valore := MAX (MIN (valore_max, valore), valore_min); (* vincola il valore al gruppo [valore_min..valore_max] *)

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

293

Capitolo 13

Istruzioni per l'elaborazione dei dati
Risultati

MAX (massimo)

Vedere anche
Istruzioni per l'elaborazione dei dati a pagina 285
Calcola il valore massimo tra due valori interi. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro
EN
IN1 IN2 MAX ENO

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: esegue il calcolo del valore intero massimo.

FALSE: il calcolo non avviene.

Applicabile alle programmazioni in Ladder Diagram.

DINT

Qualunque valore intero con segno.

DINT

Non può essere reale.

DINT

Il massimo dei due valori di ingresso.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

294

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 13 Istruzioni per l'elaborazione dei dati
Esempio di programmazione a blocchi funzionali MAX
Esempio di Diagramma ladder MAX

Esempio di Testo strutturato MAX
(* Equivalenza ST: *) nuovo_valore := MAX (MIN (valore_max, valore), valore_min); (* vincola il valore al gruppo [valore_min..valore_max] *)
Risultati

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

295

Capitolo 13

Istruzioni per l'elaborazione dei dati
Vedere anche
Istruzioni per l'elaborazione dei dati a pagina 285

296

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 14
Istruzioni per l'High Speed Counter (HSC)

Istruzione HSC a pagina 298

Monitorare e controllare l'High Speed Counter attenendosi alle relative istruzioni.
Descrizione
HSC applica all'high-speed counter valori alti e bassi preimpostati e valori di origine per l'uscita.

HSC_SET_STS a pagina 314 HSC_SET_STS permette l'impostazione o il ripristino manuale dello stato del conteggio dell'HSC.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

Che cos'è l'High-Speed Counter?

Un high-speed counter rileva e conta impulsi stretti (veloci), quindi invia istruzioni specifiche per avviare le operazioni di controllo, quando i conteggi rilevati raggiungono i relativi valori preimpostati. Tra le operazioni di controllo sono inclusi l'esecuzione automatica e immediata della routine di interruzione dell'high-speed counter e l'aggiornamento immediato delle uscite in base al modello di maschera e all'origine configurata.
Funzionalità dell'high-speed counter
Poiché le istruzioni dell'HSC richiedono elevate prestazioni, il loro funzionamento è garantito da una circuiteria personalizzata che opera parallelamente al processore di sistema principale. Tra le funzionalità avanzate degli High-Speed Counter (HSC) sono incluse:
· Funzionamento a 100 kHz del controllo diretto dell'alta velocità per le uscite
· Dati in formato numero intero con segno a 32 bit (intervallo di conteggio ± 2.147.483.647)
· Valori alto e basso preimpostati e programmabili · SetPoint di overflow e underflow · Elaborazione delle interruzioni automatiche in base al conteggio
accumulato · Operatività delle istruzioni dell'HSC con parametri di runtime
modificabili (dal programma di controllo dell'utente)

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

297

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
Supporto del controllore Micro800 per l'HSC
Tutti i controllori Micro830, Micro850 e Micro870, tranne 2080-LCxxAWB, supportano fino a sei ingressi HSC. La funzionalità HSC è implementata nei controllori Micro800 tramite l'hardware dell'high-speed counter (ingressi integrati nel controllore) e l'istruzione HSC nell'applicazione. L'istruzione HSC configura l'hardware dell'high-speed counter e aggiorna l'accumulatore dell'immagine.
IMPORTANTE è possibile utilizzare la funzione HSC solo con l'I/O integrato del controllore. Non può essere utilizzata con moduli di espansione I/O.

Vedere anche
Istruzioni per l'High-Speed Counter (HSC) a pagina 297 Utilizzo delle istruzioni dell'High-Speed Counter a pagina 317

HSC (High Speed Counter)

HSC applica all'high-speed counter valori alti e bassi preimpostati e valori di origine per l'uscita.
Dettagli operazione:
· L'interruttore di fine corsa programmabile (PLS) viene abilitato impostando il parametro HSCAppData.PLSEnable su True.
· Il parametro PLSPosition viene reimpostato al termine di un ciclo completo e al raggiungimento del valore HSCSTS.HP.
Questa istruzione si applica ai controllori Micro830 e Micro850.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Parametro

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

298

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

EN

Ingresso

BOOL

Enable
HscCmd HSCAppData HSCStsInfo PlsData
Sts

Ingresso
Ingresso Ingresso Ingresso Ingresso
Uscita

BOOL
USINT HSCAPP HSCSTS DINT UDINT UINT

ENO

Uscita

BOOL

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
Stato del ramo del blocco istruzione. TRUE: il timer inizia a incrementare. FALSE: il blocco funzione non è attivo. Si consiglia di non usare il parametro EN con il blocco funzione HSC perché il timer continua a funzionare anche quando EN è impostato su FALSE. Applicabile solo alle programmazioni in Ladder Diagram. Abilitare il blocco istruzione. TRUE: esegue l'operazione HSC specificata nel parametro di comando HSC. FALSE: non viene emesso nessun comando HSC. Invia comandi all'HSC. Configurazione dell'applicazione HSC; di solito necessaria solo una volta.
Stato dinamico dell'HSC. Di norma, è aggiornato continuamente durante il conteggio HSC. Struttura dati PLS (interruttore fine corsa programmabile).
Stato dell'esecuzione dell'HSC. Codici di stato dell'HSC: · 0x00: nessuna azione intrapresa (non abilitato). · 0x01: esecuzione HSC completata. · 0x02: comando HSC non valido. · 0x03: ID HSC fuori intervallo. · 0x04: errore di configurazione HSC. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali HSC

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

299

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
Esempio di diagramma ladder HSC

Esempio di testo strutturato HSC

Vedere anche
Istruzioni per l'High-Speed Counter (HSC) a pagina 297 Valori HSCCmd a pagina 300 Tipo di dati HSCAPP a pagina 301 Tipo di dati HSCSTS a pagina 304 Tipo di dati PLS a pagina 311

Valori HSCCmd

Nella seguente tabella sono descritti i comandi dell'HSC per ciascuno dei valori di comando.

Comando HSC

Descrizione comando

0x01

HSC RUN

· Avvia l'HSC (se HSC è in modalità inattiva ed è abilitato il piolo). · Aggiorna solo le informazioni sullo stato dell'HSC (se HSC è in modalità di esecuzione ed è abilitato il piolo).

0x02

HSC Stop arresta un conteggio HSC (se HSC è in modalità di esecuzione ed è abilitato il piolo).

0x03

HSC Load/Set: ricarica i dati dell'applicazione HSC (se è abilitato il piolo) per 6 elementi di input: HPSetting, LPSetting, HPOutput, LPOutput,

OFSetting, UFSettingand e UFSetting.

Nota: questo comando non ricarica i seguenti elementi di input: accumulatore HSC.

0x04

Ripristino accumulatore HSC (se il rung è abilitato).

300

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Valore comando Risultato

Risultati del comando HSC
Condizioni

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)

HscCmd =1
HscCmd =4 (ripristino)

Avvia il meccanismo dell'HSC e fa passare le transizioni dell'HSC alla modalità di esecuzione.

L'impostazione del parametro di ingresso Enable su False non arresta il conteggio in modalità di esecuzione. HscCmd =2 deve essere emesso per arrestare il conteggio.

Il meccanismo dell'HSC aggiorna automaticamente i valori.
Imposta il valore Acc. dell'HSC al valore AppData.Accumulator dell'HSC.

HSC AppData.Accumulator è aggiornato con HSC Sts.Accumulator
HscCmd =4 non arresta il conteggio HSC. Se HSC è in fase di conteggio quando viene emesso HscCmd =4, è possibile che alcuni conteggi vadano persi.
Per impostare un valore Acc dell'HSC specifico durante il conteggio, scrivere il valore in AppData.Accumulator dell'HSC immediatamente prima dell'emissione di HscCmd =4.

Vedere anche
HSC a pagina 298

Tipo di dati HSCAPP

Parametri
PLSEnable
HSCID HSCMode Accumulator

Tipo di dati
BOOL
UINT UINT DINT

HPSetting

DINT

LPSetting

DINT

Utilizzare il tipo di dati HSCAPP per definire il parametro HSCAppData nell'istruzione dell'HSC. I parametri del tipo di dati HSCApp servono a definire i dati di configurazione dell'HSC.

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati HSCAPP.

Formato dati bit word word parola lunga
parola lunga
parola lunga

Accesso al programma utente lettura/scrittura lettura/scrittura lettura/scrittura lettura/scrittura
lettura/scrittura
lettura/scrittura

Descrizione
Abilitare o disabilitare l'interruttore di fine corsa programmabile (PLS) dell'High Speed Counter. Definisce l'HSC.
Definisce la modalità dell'HSC.
Valore accumulatore iniziale. HSCApp.Accumulator imposta il valore iniziale dell'accumulatore quando si attiva l'High Speed Counter. Quando l'High-Speed Counter è in modalità conteggio, l'accumulatore viene automaticamente aggiornato dal sottosistema dell'HSC, per propagare il valore effettivo dell'accumulatore dell'HSC. Impostazione valore alto preimpostato. Il parametro HSCApp.HPSetting imposta il setpoint superiore (nei conteggi) che definisce quando il sottosistema dell'HSC genera un interrupt. Il numero dei dati caricati nell'impostazione valore alto preimpostato deve essere inferiore o uguale ai dati residenti nel parametro di overflow (HSCAPP.OFSetting). In caso contrario, viene generato un errore di HSC. Impostazione valore basso preimpostato. HSCApp.LPSetting imposta il setpoint inferiore (nei conteggi) che definisce quando il sottosistema dell'HSC genera un interrupt. Il numero dei dati caricati nell'impostazione valore basso preimpostato deve essere superiore o uguale ai dati residenti nel parametro di underflow (HSCAPP.UFSetting). In caso contrario, viene generato un errore di HSC. Se i valori di underflow e dell'impostazione valore basso preimpostato sono numeri negativi, il valore basso preimpostato deve essere un numero con un valore assoluto inferiore al valore di underflow.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

301

Capitolo 14 OFSetting

Istruzioni per l'High Speed Counter (HSC)

DINT

parola lunga

lettura/scrittura

UFSetting

DINT

parola lunga

lettura/scrittura

OutputMask

UDINT

word

lettura/scrittura

HPOutput

UDINT

parola lunga

lettura/scrittura

LPOutput

UDINT

parola lunga

lettura/scrittura

Impostazione overflow. L'impostazione di overflow di HSCApp.OFSetting definisce il limite di conteggio superiore del contatore. Se il valore accumulato del contatore sale oltre il valore specificato in OFSetting, viene generata un'interruzione per overflow. Quando viene generata l'interruzione per overflow, il sottosistema dell'HSC reimposta il valore accumulato sul valore di underflow e il contatore continua a contare dal valore di underflow (i conteggi non vanno persi durante questa transizione). I valori di OFSetting devono essere: · Tra -2.147.483.648 e 2.147.483.647. · Maggiori del valore di underflow. · Maggiori o uguali ai dati residenti nell'impostazione valore alto preimpostato
(HSCAPP.HPSetting). In caso contrario, viene generato un errore di HSC.
Impostazione underflow. Impostazione di underflow di HSCApp.UFSetting che definisce il limite di conteggio inferiore del contatore. Se il valore accumulato del contatore scende sotto il valore specificato in UFSetting, viene generata un'interruzione per underflow. Quando viene generata l'interruzione per underflow, il sottosistema dell'HSC reimposta il valore accumulato sul valore di overflow e il contatore avvia il conteggio dal valore di overflow (i conteggi non sono persi nella transizione). I valori di UFSetting devono essere: · Tra -2.147.483.648 e 2.147.483.647. · Inferiori al valore di overflow. · Inferiori o uguali ai dati residenti nell'impostazione valore basso preimpostato
(HSCAPP.LPSetting), altrimenti viene generato un errore di HSC.
Maschera esterna per uscita. HSCApp.OutputMask definisce le uscite integrate nel controllore, direttamente controllabili dall'High Speed Counter. Il sottosistema HSC è in grado di impostare le uscite su ON oppure OFF senza l'interazione del programma di controllo in base ai valori preimpostati alto o basso dell'accumulatore dell'HSC. Il modello di bit memorizzato in HSCApp.OutputMask definisce quali uscite vengono controllate dall'HSC e quali no. Il modello di bit HSCAPP.OutputMask corrisponde ai bit di uscita del controllore ed è possibile configurarlo durante l'installazione iniziale. I bit impostati (1) sono abilitati ed possibile impostarli su On oppure Off tramite il sottosistema dell'HSC. I bit cancellati (0) non possono essere impostati su On oppure Off tramite sottosistema dell'HSC. Ad esempio, per utilizzare l'HSC per controllare le uscite 0, 1, 3, assegnare: · HscAppData.OutputMask = 2#1011 oppure · HscAppData.OutputMask = 11 Impostazione uscita 32 bit per raggiungimento valore alto preimpostato. HSCApp.HPOutput definisce lo stato (1 = ON oppure 0 = OFF) delle uscite del controllore quando viene raggiunto il valore alto preimpostato. Per maggiori informazioni su come impostare direttamente su On oppure Off in base al valore alto preimpostato. Configurare il modello di bit uscita alta durante l'impostazione iniziale o utilizzare il blocco funzione HSC per caricare i nuovi parametri durante il funzionamento del controllore.
Impostazione uscita 32 bit per raggiungimento valore basso preimpostato. HSCApp.LPOutput definisce lo stato (1 = "on" oppure 0 = "off") delle uscite del controllore quando viene raggiunto il valore basso preimpostato. Per maggiori informazioni su come impostare direttamente le uscite su ON oppure OFF in base al valore basso preimpostato. Configurare il modello di bit uscita bassa durante l'impostazione iniziale o utilizzare il blocco funzione HSC per caricare i nuovi parametri durante il funzionamento del controllore.

302

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Impostazione HSCApp
HSCAPP.HpSetting HSCAPP.LpSetting HSCAPP.HPOutput HSCAPP.LPOutput

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
Confronto tra impostazioni HSCApp e impostazioni PLSData
Quando la funzione PLS è abilitata, le impostazioni HSCApp pertinenti sono sostituite dalle impostazioni PLSData corrispondenti, come descritto nella seguente tabella.
Impostazione PLSData
HSCHP HSCLP HSCHPOutput HSCLPOutput

HSCApp.HSCID

Il parametro HSCApp.HSCID identifica l'High Speed Counter. Nella tabella seguente sono elencati i valori per l'HSCID:

Selezione uscita Prima parola dati funzione HSC

Bit

Descrizione

15-13

Tipo di modulo HSC:

· 0x00 - Integrato.

· 0x01 - Espansione.

· 0x02 - Porta plug-in.

12-8

ID slot del modulo:

· 0x00 - Integrato.

· 0x01-0x1F - ID del modulo di espansione.

· 0x01-0x05 - ID della porta plug-in.

7-0

ID HSC all'interno del modulo:

· 0x00-0x0F - Integrato.

· 0x00-0x07 - ID di HSC per Espansione.

· 0x00-0x07 - ID di HSC per porta plug-in.

per la versione iniziale di Connected Components Workbench sono supportati solo ID 0x00-0x05.

HSCApp.HSCMode
Il parametro HSCApp.HSCMode imposta l'High Speed Counter su uno dei 10 tipi di modalità di conteggio. Il valore della modalità è configurato tramite il dispositivo di programmazione ed è accessibile nel programma di controllo.
Per ulteriori informazioni sulle modalità operative HSC e le assegnazioni degli input, vedere gli schemi dei cablaggi e degli input HSC nel Manuale dell'utente per i controllori programmabili Micro830 e Micro850.
Modalità operativa dell'HSC, HSC principale e quello secondario supportano modalità differenti.
· Gli High Speed Counter principali supportano 10 tipi di modalità operative.
· Gli High Speed Counter secondari supportano 5 tipi di modalità operative (modalità 0, 2, 4, 6, 8).

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

303

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)

HSCMode 0
1
2 3 4 5 6 7 8 9

· Se l'High Speed Counter principale è impostato in modalità 1, 3, 5, 7 o 9, l'High Speed Counter secondario verrà disabilitato.
Modalità conteggio
Contatore su. L'accumulatore è cancellato (0) immediatamente al raggiungimento del valore alto preimpostato. Non è possibile definire un valore basso preimpostato in questa modalità. Contatore su con ripristino esterno e tenuta. L'accumulatore è cancellato (0) immediatamente al raggiungimento del valore alto preimpostato. Non è possibile definire un valore basso preimpostato in questa modalità. Contatore con direzione esterna. Contatore con direzione esterna, ripristino e tenuta. Contatore con due ingressi (su e giù). Contatore con due ingressi (su e giù), ripristino esterno e tenuta.
Contatore in quadratura (ingressi in fase A e B). Contatore in quadratura (ingressi in fase A e B) con ripristino esterno e tenuta. Contatore in quadratura X4 (ingressi in fase A e B). Contatore in quadratura X4 (ingressi in fase A e B) con ripristino esterno e tenuta.

Esempio di parametri HSCAppData
Nella seguente immagine sono rappresentati i parametri HSCAppData nel Selettore di variabili.

Vedere anche
HSC a pagina 298

Tipo di dati HSCSTS
304

HSCSTSInfo (tipo di dati HSCSTS) visualizza lo stato dell'High-Speed Counter.
Azioni dello stato HSCSTSInfo
Durante il conteggio dell'HSC si verificano le seguenti azioni di stato HSC.
· Se il blocco di funzione dell'HSC sta eseguendo il conteggio con il comando 0x01, lo stato dell'HSC viene aggiornato costantemente.
· Se si verifica un errore, il flag Error_Detected viene attivato e viene impostato un codice di errore.
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri
CountEnable ErrorDetected CountUpFlag CountDwnFlag Mode1Done OVF UNF CountDir HPReached LPReached OFCauseInter UFCauseInter HPCauseInter LPCauseInter PlsPosition
ErrorCode Accumulator HP LP HPOutput LPOutput

Tipo di dati
BOOL BOOL BOOL BOOL
BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL BOOL UINT

Modalità HSC
0...9 0...9 0...9 2...9
0 oppure 1 0...9 0...9 0...9 2...9 2...9 0...9 2...9 0...9 2...9 0...9

UINT 0...9 DINT DINT DINT UDINT UDINT

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)

Parametri HSCSTSInfo

Accesso al

Descrizione

programma utente

sola lettura lettura/scrittura sola lettura sola lettura
lettura/scrittura lettura/scrittura lettura/scrittura sola lettura lettura/scrittura lettura/scrittura lettura/scrittura lettura/scrittura lettura/scrittura lettura/scrittura sola lettura
lettura/scrittura lettura/scrittura sola lettura sola lettura lettura/scrittura lettura/scrittura

Conteggio abilitato. Diverso da zero indica un errore rilevato. Flag conteggio crescente. Flag conteggio decrescente.
HSC è Mode 1A o Mode 1B; l'accumulatore conta fino al valore HP. Rilevato un overflow. Rilevato un underflow. 1: conteggio crescente; 0: conteggio decrescente. Raggiunto valore alto preimpostato. Raggiunto valore basso preimpostato. Overflow causato da interruzioni dell'HSC. Underflow causato da interruzioni dell'HSC. Raggiunto valore alto preimpostato che ha causato un'interruzione nell'HSC. Raggiunto valore basso preimpostato che ha causato un'interruzione nell'HSC. Posizione del interruttore di fine corsa programmabile. Il parametro PLSPosition viene reimpostato al termine di un ciclo completo e al raggiungimento del valore HP. Visualizza i codici di errore rilevati dal sottosistema dell'HSC. Lettura attuale accumulatore.
Impostazione valore alto preimpostato più recente.
Impostazione valore basso preimpostato più recente.
Impostazione uscita valore alto preimpostato più recente.
Impostazione uscita valore basso preimpostato più recente.

Dettagli dei parametri HSCSTSInfo
I parametri HSCSTSInfo (tipo di dati HSCSTS) sono utilizzati per determinare lo stato dell'High-Speed Counter.

Parametri HSCSTS.CountEnable
Parametri HSCSTS.ErrorDetected

CountEnable
Tipo di dati Modalità HSC Accesso al programma utente

BOOL

0...9

sola lettura

Indica lo stato dell'High-Speed Counter, a prescindere che il conteggio sia abilitato (1) o disabilitato (0, impostazione predefinita).

ErrorDetected

Tipo di dati Modalità HSC Accesso al programma utente

BOOL

0...9

lettura/scrittura

Rileva se è presente un errore nel sottosistema dell'HSC. Gli errori di configurazione sono i tipi di errore più comuni segnalati da ErrorDetectedr. Quando il bit è impostato (1), controllare lo specifico codice di errore nel parametro HSCSTS.ErrorCode, che è mantenuto dal controllore. Se necessario, è possibile cancellare il bit ErrorDetected.

CountUpFlag

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

305

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)

Parametri

Tipo di dati Modalità HSC Accesso al programma utente

HSCSTS.CountUpFlag

BOOL

0...9

sola lettura

Utilizzato con tutti gli HSC (modalità 0...9). Se il bit HSCSTS.CountEnable è impostato, il bit Count Up è impostato (1). Se il bit HSCSTS.CountEnable è cancellato, il bit Count Up è cancellato (0).

CountDownFlag

Parametri

Tipo di dati Modalità HSC Accesso al programma utente

HSCSTS.CountDownFlag BOOL

2...9

sola lettura

Utilizzato con i contatori bidirezionali (modalità 2...9). Se è impostato il bit HSCSTS.CountEnable, il bit Count Down è impostato (1). Se il bit HSCSTS.CountEnable viene cancellato, il bit Count Down è cancellato (0).

Mode1Done

Parametri

Tipo di dati Modalità HSC Accesso al programma utente

HSCSTS.Mode1Done

BOOL

0 oppure 1

lettura/scrittura

Parametri HSCSTS.OVF

Il sottosistema dell'HSC imposta il flag di stato HSCSTS.Mode1Done su (1) quando l'HSC è configurato per il comportamento in modalità 0 oppure 1 e l'accumulatore esegue il conteggio a crescere fino al valore alto preimpostato.

OVF

Tipo di dati Modalità HSC Accesso al programma utente

BOOL

0...9

lettura/scrittura

Parametri HSCSTS.UNF

Il sottosistema dell'HSC imposta il flag di stato HSCSTS.OVF su (1) ogniqualvolta sia stato eseguito il conteggio del valore accumulato (HSCSTS.Accumulator) fino alla variabile di overflow (HSCAPP.OFSetting). Il bit è transitorio e viene impostato dal sottosistema dell'HSC. L'utilizzo, il tracciamento e la cancellazione (0) di una condizione di overflow sono gestiti dal programma di controllo.

Le condizioni di overflow non generano errori del controllore.

UNF

Tipo di dati Modalità HSC Accesso al programma utente

BOOL

0...9

lettura/scrittura

Parametri HSCSTS.CountDir

Il sottosistema dell'HSC imposta il flag di stato HSCSTS.UNF su (1) ogniqualvolta venga eseguito il conteggio del valore accumulato (HSCSTS.Accumulator) fino alla variabile di underflow (HSCAPP.UFSetting). Il bit è transitorio e viene impostato dal sottosistema dell'HSC. L'utilizzo, il tracciamento e la cancellazione (0) di una condizione di underflow sono gestiti dal programma di controllo.

Le condizioni di underflow non generano errori del controllore.

CountDir

Tipo di dati Modalità HSC Accesso al programma utente

BOOL

0...9

sola lettura

306

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri HSCSTS.HPReached
Parametri HSCSTS.LPReached
Parametri HSCSTS.OFCauseInter

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
Il sottosistema dell'HSC controlla il flag di stato HSCSTS.CountDir. Quando l'accumulatore dell'HSC esegue il conteggio crescente, il flag di direzione è impostato (1). Quando l'accumulatore dell'HSC esegue il conteggio decrescente, il flag di direzione è cancellato (0).

Se il valore accumulato si interrompe, il bit di direzione mantiene il valore. Il flag di direzione cambia solo se viene invertita la direzione del conteggio accumulato.

Questo bit è costantemente aggiornato dal sottosistema dell'HSC se il controllore è in una modalità di esecuzione.

HPReached

Tipo di dati Modalità HSC Accesso al programma utente

BOOL

2...9

lettura/scrittura

Il sottosistema dell'HSC imposta il flag di stato HSCSTS.HPReached su (1) ogniqualvolta il valore accumulato (HSCSTS.Accumulator) sia superiore o uguale alla variabile del valore alto preimpostato (HSCAPP.HPSetting).

Questo bit è costantemente aggiornato dal sottosistema dell'HSC ogniqualvolta il controllore si trovi in una modalità di esecuzione. La scrittura in questo elemento non è consigliata.

LPReached

Tipo di dati Modalità HSC Accesso al programma utente

BOOL

2...9

sola lettura

Il sottosistema dell'HSC imposta il flag di stato HSCSTS.LPReached su (1) ogniqualvolta il valore accumulato (HSCSTS.Accumulator) sia inferiore o uguale alla variabile del valore basso preimpostato (HSCAPP.LPSetting).

Questo bit è costantemente aggiornato dal sottosistema dell'HSC ogniqualvolta il controllore si trovi in una modalità di esecuzione. La scrittura in questo elemento non è consigliata.

OFCauseInter

Tipo di dati Modalità HSC Accesso al programma utente

BOOL

0...9

lettura/scrittura

Il bit di stato dell'interruzione per overflow è impostato (1) quando l'accumulatore dell'HSC esegue il conteggio fino al valore di overflow e l'interruzione dell'HSC viene attivata. Questo bit può essere utilizzato nel programma di controllo per identificare la variabile di overflow che ha causato l'interruzione dell'HSC. Se il programma di controllo deve eseguire un'azione di controllo specifica in base all'overflow, questo bit è utilizzato come logica condizionale.
Questo bit può essere cancellato (0) dal programma di controllo e viene cancellato anche dal sottosistema dell'HSC in presenza delle seguenti condizioni:
· Esecuzione dell'interruzione con valore basso preimpostato · Esecuzione dell'interruzione con valore alto preimpostato · Esecuzione dell'interruzione per underflow

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

307

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
UFCauseInter

Parametri

Tipo di dati Modalità HSC Accesso al programma utente

HSCSTS.UFCauseInter

BOOL

2...9

lettura/scrittura

Parametri HSCSTS.HPCauseInter

Il bit di stato dell'interruzione per underflow è impostato (1) quando l'accumulatore dell'HSC esegue il conteggio fino al valore di underflow e l'interruzione dell'HSC viene attivata. Questo bit può essere utilizzato nel programma di controllo per identificare la condizione di underflow che ha causato l'interruzione dell'HSC. Se il programma di controllo deve eseguire un'azione di controllo specifica in base all'underflow, questo bit è utilizzato come logica condizionale.

Questo bit può essere cancellato (0) dal programma di controllo e viene cancellato anche dal sottosistema dell'HSC in presenza delle seguenti condizioni:

· Verificarsi dell'interruzione con valore basso preimpostato · Verificarsi dell'interruzione con valore alto preimpostato · Verificarsi dell'interruzione per overflow
HPCauseInter

Tipo di dati Modalità HSC Accesso al programma utente

BOOL

0...9

lettura/scrittura

Parametri HSCSTS.LPCauseInter

Il bit di stato dell'interruzione con valore alto preimpostato è impostato (1) quando l'accumulatore dell'HSC raggiunge il valore alto preimpostato e l'interruzione dell'HSC viene attivata. Questo bit può essere utilizzato nel programma di controllo per identificare la condizione di valore alto preimpostato che ha causato l'interruzione dell'HSC. Se il programma di controllo deve eseguire un'azione di controllo specifica in base al valore alto preimpostato, questo bit è utilizzato come logica condizionale.

Questo bit può essere cancellato (0) dal programma di controllo e viene cancellato anche dal sottosistema dell'HSC in presenza delle seguenti condizioni:

· Verificarsi dell'interruzione con valore basso preimpostato · Verificarsi dell'interruzione per underflow · Verificarsi dell'interruzione per overflow
LPCauseInter

Tipo di dati Modalità HSC Accesso al programma utente

BOOL

2...9

lettura/scrittura

Il bit di stato dell'interruzione con valore basso preimpostato è impostato (1) quando l'accumulatore dell'HSC raggiunge il valore basso preimpostato e l'interruzione dell'HSC viene attivata. Questo bit può essere utilizzato nel programma di controllo per identificare la condizione di valore basso preimpostato che ha causato l'interruzione dell'HSC. Se il programma di controllo deve eseguire un'azione di controllo specifica in base al valore basso preimpostato, questo bit è utilizzato come logica condizionale.

308

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri HSCSTS.PLSPosition

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
Questo bit può essere cancellato (0) dal programma di controllo e viene cancellato anche dal sottosistema dell'HSC in presenza delle seguenti condizioni:

· Verificarsi dell'interruzione con valore alto preimpostato · Verificarsi dell'interruzione per underflow · Verificarsi dell'interruzione per overflow

PlsPosition

Tipo di dati Modalità HSC Accesso al programma utente

UINT

0...9

sola lettura

Parametri HSCSTS.ErrorCode

Quando l'HSC è in modalità di conteggio ed è abilitata la funzione PLS, questo parametro indica l'elemento di PLS in uso per l'attuale configurazione dell'HSC.

ErrorCode

Tipo di dati Modalità HSC Accesso al programma utente

BOOL

0...9

sola lettura

Visualizza i codici di errore rilevati dal sottosistema dell'HSC.

Sottoelemento del codice Codice di errore

di errore

conteggio HSC

Bit 15-8 (byte alto)

0-255

Bit 7-0 (byte basso)

0x00

0x01

0x02

0x03

0x04

0x05

Accesso al programma utente
Il valore non nullo per byte alto indica che l'errore HSC è causato dalle impostazioni dei dati PLS. Il valore del byte alto indica quale elemento dei dati PLS fa verificare l'errore. Nessun errore. Modalità conteggio HSC non valida. Valore alto preimpostato non valido. Overflow non valido. Underflow non valido. Nessun dato PLS.

Accumulator

Parametri

Tipo di dati Accesso al programma utente

HSCApp.Accumulator

DINT

lettura/scrittura
Imposta il valore iniziale dell'accumulatore quando si attiva l'High-Speed Counter. Quando l'High-Speed Counter è in modalità conteggio, l'accumulatore viene automaticamente aggiornato dal sottosistema dell'HSC, per propagare il valore effettivo dell'accumulatore dell'HSC.

HP

Parametri

Tipo di dati Accesso al programma utente

HSCSTS.HP

DINT

sola lettura

HSCSTS.HP è il SetPoint superiore (nei conteggi) che definisce quando il sottosistema dell'HSC genera un'interruzione.

Il numero dei dati caricati nell'impostazione valore alto preimpostato deve essere inferiore o uguale ai dati residenti nel parametro di overflow (HSCAPP.OFSetting). In caso contrario, viene generato un errore di HSC.

Questa è l'impostazione più recente del valore alto preimpostato che può essere aggiornata tramite la funzione PLS dal blocco di dati PLS.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

309

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
LP

Parametri

Tipo di dati Modalità HSC

Accesso al programma utente

HSCSTS.LP

DINT

sola lettura

HSCSTS.LP è il SetPoint inferiore (nei conteggi) che definisce quando il sottosistema dell'HSC genera un'interruzione.

Il numero dei dati caricati nell'impostazione valore basso preimpostato deve essere superiore o uguale ai dati residenti nel parametro di underflow (HSCAPP.UFSetting). In caso contrario, viene generato un errore di HSC. Se i valori di underflow e dell'impostazione valore basso preimpostato sono numeri negativi, il valore basso preimpostato deve essere un numero con un valore assoluto inferiore.

Questa è l'impostazione più recente del valore basso preimpostato che può essere aggiornata tramite la funzione PLS dal blocco di dati PLS.

HPOutput

Parametri

Tipo di dati Accesso al programma utente

HSCApp.HPOutput

UDINT

lettura/scrittura

Definisce lo stato (1 = ON oppure 0 = OFF) delle uscite del controllore quando viene raggiunto il valore alto preimpostato . Per maggiori informazioni su come impostare direttamente su On oppure Off in base al valore alto preimpostato.

È possibile configurare il modello di bit uscita alta durante l'impostazione iniziale o utilizzare il blocco di funzione HSC per caricare i nuovi parametri durante il funzionamento del controllore.

LPOutput

Parametri

Tipo di dati Accesso al programma utente

HSCApp.LPOutput

UDINT

lettura/scrittura

LPOutput (HSCApp.LPOutput) definisce lo stato (1 = "on" oppure 0 = "off") delle uscite del controllore quando viene raggiunto il valore basso preimpostato. Per maggiori informazioni su come impostare direttamente le uscite su ON oppure OFF in base al valore basso preimpostato.

È possibile configurare il modello di bit uscita bassa durante l'impostazione iniziale o utilizzare il blocco di funzione HSC per caricare i nuovi parametri durante il funzionamento del controllore.

310

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 14
Esempio di parametri HSCSTSInfo

Istruzioni per l'High Speed Counter (HSC)

Nella seguente immagine sono rappresentati i parametri HSCSTSInfo nel Selettore di variabili.

Vedere anche
HSC a pagina 298

Tipo di dati PLS

PLSData (tipo di dati PLS) è utilizzato per configurare l'interruttore di fine corsa programmabile .

Elemento
HSCHP HSCLP HSCHPOutput HSCLPOutput

Elementi della struttura PLSData

La struttura dati PLS è un array flessibile con i seguenti elementi.

Ordine elemento Tipo di dati

Descrizione elemento

Parola 0...1 Parola 2...3 Parola 4...5 Parola 6...7

DINT

Valore alto preimpostato

DINT

Valore basso preimpostato

UDINT

Dati uscita valore alto

UDINT

Dati uscita valore basso

Il numero totale degli elementi di una struttura dati PLS non deve superare 255.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

311

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
Parametri PLSData

Nella seguente tabella sono elencati i dettagli relativi ai parametri PLSData.

Elemento
HSCHP HSCLP HSCHPOutput HSCLPOutput

Tipo di dati
DINT DINT UDINT UDINT

Formato dati

Modalità HSC

Intero con segno a 32 bit 0

Intero con segno a 32 bit 0

Binario a 32 bit

0

Binario a 32 bit

0

Accesso al programma utente Descrizione

lettura/scrittura lettura/scrittura lettura/scrittura lettura/scrittura

Valore alto preimpostato Valore basso preimpostato Dati uscita valore alto Dati uscita valore basso

Impostazione HSCApp
HSCAPP.HpSetting HSCAPP.LpSetting HSCAPP.HPOutput HSCAPP.LPOutput

Confronto tra impostazioni HSCApp e impostazioni PLSData
Quando la funzione PLS è abilitata, le impostazioni HSCApp pertinenti sono sostituite dalle impostazioni PLSData corrispondenti, come descritto nella seguente tabella.
Impostazione PLSData
HSCHP HSCLP HSCHPOutput HSCLPOutput

Esempio di parametri PLSData
Nella seguente figura sono rappresentati i parametri PLSData nel Selettore di variabili.

Vedere anche
Configurazione di un interruttore di fine corsa programmabile (PLS) a pagina 323 Istruzioni per l'High-Speed Counter (HSC) a pagina 297

Tipo di dati HSCE_CHANNEL

Descrive il tipo di dati the HSCE_CHANNEL:
@typedef struct struct_HSCE_channel {

312

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Byte Tipo di modulo
ID slot
HSCID

Capitolo 14
USINT ModuleType; USINT SlotID; USINT HSCID; } HSCE_CHANNEL;
La descrizione è riportata di seguito:
Descrizione
0x00: Incorporato 0x01: Espansione (sezionato) 0x02: Porta universale 0x00: Incorporato 0x01-0x1F: ID del modulo di espansione (sezionato) 0x01-0x05: ID della porta universale 0x00-0x0F: Incorporato 0x00-0x07: ID di HSC per espansione 0x00-0x01: ID di HSC per porta universale

Istruzioni per l'High Speed Counter (HSC)

Vedere anche
HSC a pagina 298

Tipo di dati HSCE_STS

Di seguito è riportata la descrizione del tipo di dati HSCE_STS:

Parametro

Tipo di dati

Modalità HSC Descrizione

CountEnable

BOOL

ErrorDetected

BOOL

CountUpFlag

BOOL

CountDwnFlag

BOOL

Mode1Done

BOOL

OVF

BOOL

UNF

BOOL

CountDir

BOOL

HPReached

BOOL

LPReached

BOOL

OFCauseInter

BOOL

UFCauseInter

BOOL

HPCauseInter

BOOL

LPCauseInter

BOOL

StateInfo

USINT

PlsPosition

UINT

ErrorCode

UINT

Accumulator

DINT

HP

DINT

LP

DINT

HPOutput

UDINT

LPOutput

UDINT

0...13 0...13 0...13 2...13 0 oppure 1 0...13 0...13 0...13 2...13 2...13 0...13 2...13 0...13 2...13
0...9
0...13

Conteggio abilitato. Diverso da zero indica un errore rilevato. Flag conteggio crescente. Flag conteggio decrescente.
HSC è Mode 1A o Mode 1B; l'accumulatore conta fino al valore HP. Rilevato un overflow. Rilevato un underflow. 1: conteggio crescente; 0: conteggio decrescente. Raggiunto valore alto preimpostato. Raggiunto valore basso preimpostato. Overflow causato da interruzioni dell'HSC. Underflow causato da interrupt di HSC. Raggiunto valore alto preimpostato che ha causato un'interruzione nell'HSC. Raggiunto valore basso preimpostato che ha causato un'interruzione nell'HSC. Informazioni macchina di istruzioni contatore HSCE
Posizione del interruttore di fine corsa programmabile. Il parametro PLSPosition viene reimpostato al termine di un ciclo completo e al raggiungimento del valore HP. Visualizza i codici di errore rilevati dal sottosistema dell'HSC. Lettura attuale accumulatore.
Impostazione valore alto preimpostato più recente.
Impostazione valore basso preimpostato più recente.
Impostazione uscita valore alto preimpostato più recente.
Impostazione uscita valore basso preimpostato più recente.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

313

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
Vedere anche
HSC a pagina 298

Tipo di dati PLS_HSCE

La funzione interruttore di fine corsa programmabile (PLS) è un insieme aggiuntivo di modalità operative per l'High Speed Counter. In queste modalità i valori dei dati preimpostati di uscita vengono aggiornati usando i dati forniti dall'utente ogni volta che viene raggiunto uno dei valori preimpostati. Per programmare queste modalità, utilizzare un file PLS con i set di dati da usare. La struttura di dati PLS_HSCE è un vettore flessibile in cui ciascun elemento è definito come segue:

Elemento

Tipo di dati

Descrizione elemento

HighPreset LowPreset

LINT

Impostazione valore alto preimpostato

LINT

Impostazione valore basso preimpostato

HiPresetOutput LoPresetOutput

UDINT

Dati uscita valore alto preimpostato

UDINT

Dati uscita valore basso preimpostato

// struttura per elemento PLS

typedef struct PLS_HSCE_EleStruct

{

LINT HighPreset;

// valore alto preimpostato HSC

LINT LowPreset; HSC

// valore basso preimpostato di

UDINT HiPresetOutput; // uscita valore alto preimpostato di HSC

UDINT LoPresetOutput; // uscita valore basso preimpostato di HSC

} PLS_HSCE_EleStruct;

Il numero totale degli elementi per una serie di dati PLS_HSCE non deve essere maggiore di 24 per plug-in HSC.

Vedere anche
HSC a pagina 298

HSC_SET_STS (stato di impostazione dell'HighSpeed Counter)

HSC_SET_STS permette l'impostazione o il ripristino manuale dello stato del conteggio dell'HSC.
Dettagli operazione:
· Il blocco funzione dell'HSC deve essere interrotto (conteggio fermo) per consentire l'impostazione o il ripristino dello stato HTS da parte del blocco funzione HSC_SET_STC. Se la funzione HSC non viene interrotta, i parametri di ingresso continuano a essere aggiornati e le modifiche eseguite utilizzando che HSC_SET_STS verranno ignorate.

314

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830 e Micro850.

Parametro Enable
HscID Mode1Done HPReached LPReached OFOccurred UFOccurred Sts ENO

Tipo di parametro Ingresso
Ingresso Ingresso Ingresso Ingresso Ingresso Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: imposta/esegue il reset dello stato dell'HSC.

FALSE: nessuna modifica allo stato HSC.

UINT

Permette l'impostazione o il ripristino manuale dello stato dell'HSC.

BOOL

Conteggio modalità 1A o 1B completato.

Può essere impostato o ripristinato quando HSC non è in conteggio.

BOOL

Raggiunto valore alto preimpostato.

Può essere impostato o ripristinato quando HSC non è in conteggio.

BOOL

Raggiunto valore basso preimpostato.

Può essere impostato o ripristinato quando HSC non è in conteggio.

BOOL

Si è verificato un overflow.

Può essere impostato o ripristinato quando HSC non è in conteggio.

BOOL

Si è verificato un underflow.

Può essere impostato o ripristinato quando HSC non è in conteggio.

UINT

I codici di stato sono definiti nei codici di stato HSC (Sts).

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram.

Codici di stato (Sts) dell'HSC

Nella tabella seguente sono descritti i codici di stato relativi al blocco funzione HSC.

Codice stato

Descrizione stato

0x00

Nessuna azione intrapresa (non abilitato).

0x01

Esecuzione dell'HSC completata.

0x02

Comando HSC non valido.

0x03

ID HSC fuori intervallo.

0x04

Errore di configurazione HSC.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

315

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
Esempio di programmazione a blocchi funzionali HSC_SET_STS

Esempio di diagramma ladder HSC_SET_STS

Esempio di testo strutturato HSC_SET_STS

316

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Vedere anche

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)

Istruzioni per l'High-Speed Counter (HSC) a pagina 297 Utilizzo delle istruzioni dell'High-Speed Counter a pagina 317

Utilizzo delle istruzioni dell'High-Speed Counter

Questa sezione fornisce dettagli ed esempi specifici per l'utilizzo delle istruzioni dell'high-speed counter nei programmi logici, inclusi i seguenti argomenti:
Aggiornamento dei dati dell'applicazione HSC a pagina 317
Configurazione di un Interrupt utente dell'High Speed Counter (HSC) a pagina 318
Configurazione di un interruttore di fine corsa programmabile (PLS) a pagina 323
Esempio: come creare un'High-Speed Counter (HSC) a pagina 324
Esempio: come aggiungere una funzione interruttore di fine corsa programmabile (PLS) a pagina 334
Esempio: interruttore fine corsa programmabile (PLS) abilitato a pagina 335

Aggiornamento dei dati dell'applicazione HSC

La configurazione dell'HSC è definita nei dati dell'applicazione HSC e di norma viene eseguita solo una volta prima di programmare l'istruzione dell'HSC. Mentre l'HSC sta eseguendo il conteggio, le modifiche apportate ai dati dell'applicazione HSC (parametro HSCAppData) vengono ignorate.

Per aggiornare la configurazione dell'HSC
1. Aggiornare HSCAppData. 2. Chiamare l'istruzione dell'HSC con il comando 0x03 (set/reload).

Vedere anche
Configurazione di un Interrupt utente dell'High Speed Counter (HSC) a pagina 318
Configurazione di un interruttore di fine corsa programmabile (PLS) a pagina 323
Esempio: come creare un programma High-Speed Counter (HSC) a pagina 324
Esempio: interruttore fine corsa programmabile (PLS) abilitato a pagina 335
HSC (High Speed Counter) a pagina 298

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

317

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)

Finestra di dialogo Interruzione da parte dell'utente dell'High-Speed Counter (HSC)

Come aprire la finestra di dialogo Interruzione da parte dell'utente dell'High-Speed Counter (HSC)
Tra i tipi di interruzione, selezionare Interruzione da parte dell'utente dell'HSC (High Speed Counter).
La finestra di dialogo per l'interruzione dell'HSC può essere utilizzata per le seguenti operazioni:
· Configurazione delle proprietà di interruzione, quali ID e programma da utilizzare.
· Configurazione dei parametri dell'interruzione.

Vedere anche
Configurazione di un Interrupt utente dell'High Speed Counter (HSC) a pagina 318
Istruzioni per l'High-Speed Counter a pagina 297

Configurazione di un Interrupt utente dell'High Speed Counter (HSC)

Un'interruzione da parte dell'utente causa la sospensione dell'attività in esecuzione nel controllore, l'esecuzione di un'attività diversa e infine il ritorno all'attività precedente, nel punto in cui era stata sospesa.

318

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
I controllori Micro830, Micro850 e Micro870 supportano fino a sei interrupt utente HSC utilizzabili per eseguire la logica selezionata dall'utente quando si verifica un evento preconfigurato.

Vedere anche
Aggiornamento dei dati dell'applicazione HSC a pagina 317
Configurazione di un interruttore di fine corsa programmabile (PLS) a pagina 323
Esempio: Come creare un programma per l'High Speed Counter (HSC) a pagina 324
Esempio: interruttore fine corsa programmabile (PLS) abilitato a pagina 335
HSC (High Speed Counter) a pagina 298

Aggiunta e configurazione di

Per aggiungere e configurare un interrupt HSC dallo spazio di lavoro di configurazione del controllore, attenersi alla seguente procedura.

un'interruzione da parte

dell'utente dell'High-Speed Counter (HSC)

Per aggiungere un'interruzione HSC:
1. In Organizzatore progetto fare doppio clic sul controllore per aprire lo spazio di lavoro del controllore.
2. Nella struttura ad albero del controllore, fare clic su Interrupt per visualizzare la pagina di configurazione Interrupt.
3. Fare clic con il pulsante destro del mouse su una riga vuota, quindi fare clic su Aggiungi per visualizzare la finestra di dialogo con le proprietà dell'Interrupt.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

319

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
4. Per configurare un interrupt HSC:
· Tra i tipi di interruzione, selezionare Interruzione da parte dell'utente dell'HSC (High Speed Counter).
· Selezionare le proprietà interrupt HSC. · Selezionare i parametri interrupt HSC.
5. Chiudere la finestra di dialogo delle proprietà Interrupt.

Vedere anche
Configurazione di un Interrupt utente dell'High Speed Counter (HSC) a pagina 318 Istruzioni per l'High-Speed Counter a pagina 297 Proprietà interruzione HSC a pagina 320 Parametri interruzione HSC a pagina 321

Proprietà interruzione HSC

I bit di stato nelle proprietà dell'interruzione HSC indicano gli stati di abilitazione/disabilitazione e di esecuzione e se la condizione dell'interruzione è perduta o meno.

Parametri HSCO.Enabled

Formato dati bit

Abilitazione dell'interruzione da parte dell'utente (HSC0.Enabled)

Modalità HSC Accesso al programma utente

0...9

sola lettura

Il bit Enabled è utilizzato per indicare lo stato di abilitazione o disabilitazione dell'interruzione dell'HSC.

Parametri HSCO.Ex
320

Formato dati bit

Esecuzione dell'interruzione da parte dell'utente (HSC0.EX)

Modalità HSC Accesso al programma utente

0...9

sola lettura

Il bit EX (esecuzione interruzione da parte dell'utente) è impostato (1) ogniqualvolta il sottosistema dell'HSC inizi a elaborare la sottoroutine dell'HSC a causa di una delle seguenti condizioni:

· Raggiunto valore basso preimpostato · Raggiunto valore alto preimpostato · Condizione di overflow - Conteggio crescente fino al valore di
overflow · Condizione di underflow - Conteggio decrescente fino al valore di
underflow
Il bit EX dell'HSC può essere utilizzato nel programma di controllo come logica condizionale, per determinare se è in esecuzione un'interruzione dell'HSC.

Il sottosistema dell'HSC cancella (0) il bit EX quando il controllore completa l'elaborazione della sottoroutine dell'HSC.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri HSCO.PE

Formato dati bit

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)

Interruzione da parte dell'utente in attesa (HSC0.PE)
Modalità HSC Accesso al programma utente

0...9

sola lettura

Il flag di stato PE (interruzione da parte dell'utente in attesa) indica che un'interruzione è momentaneamente sospesa. È possibile monitorare il bit di stato PE o utilizzarlo per la logica nel programma di controllo, se è necessario determinare quando non è possibile eseguire immediatamente una sottoroutine. Il bit PE è mantenuto dal controllore e viene impostato e cancellato automaticamente.

Parametri HSCO.LS

Formato dati bit

Interruzione da parte dell'utente persa (HSC0.LS)
Modalità HSC Accesso al programma utente

0...9

sola lettura

Il flag di stato LS (interruzione da parte dell'utente persa) indica che un'interruzione è andata persa. Il controllore può elaborare una condizione attiva di interruzione da parte dell'utente e mantiene un'interruzione in attesa prima dell'impostazione del bit di perdita.

Il bit LS è impostato dal controllore. L'utilizzo e il monitoraggio di una condizione di perdita sono gestiti dal programma di controllo.

Vedere anche
Configurazione di un Interrupt utente dell'High Speed Counter (HSC) a pagina 318

Parametri interruzione HSC I parametri dell'interruzione HSC servono per configurare le opzioni
relative a maschera e avvio.

Avvio automatico (HSC0.AS)

Parametri Formato dati Modalità HSC Accesso al programma utente

HSCO.AS

bit

0...9

sola lettura

L'avvio automatico è configurato con il dispositivo di programmazione e memorizzato come parte del programma utente. Il bit di avvio automatico definisce se la funzione di interruzione dell'HSC viene avviata automaticamente ogniqualvolta che il controllore entra in qualsiasi modalità di esecuzione o di collaudo.

Maschera overflow (HSCO.MV)
Il bit di controllo MV (maschera di overflow) viene utilizzato per abilitare (consentire) o disabilitare (non consentire) il verificarsi di un interrupt per overflow. Se il bit è disabilitato (0) e l'HSC rileva una condizione di

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

321

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
raggiunto overflow, l'interruzione HSC da parte dell'utente non viene eseguita.
Il bit MV è controllato dal programma utente e mantiene il proprio valore anche in caso di spegnimento e riaccensione. Il programma utente deve impostare e cancellare il bit MV.
Parametri Formato dati Modalità HSC Accesso al programma utente

HSCO.MV

bit

0...9

sola lettura

Maschera underflow (HSCO.MN)
Parametri Formato dati Modalità HSC Accesso al programma utente

HSCO.MN

bit

2...9

sola lettura

Il bit di controllo MN (maschera di underflow) viene utilizzato per abilitare (consentire) o disabilitare (non consentire) un interrupt per underflow. Se il bit è disabilitato (0) e l'HSC rileva una condizione di raggiunto underflow, l'interrupt utente HSC non viene eseguito.

Il bit MN è controllato dal programma utente e mantiene il proprio valore anche in caso di spegnimento e riaccensione. Il programma utente deve impostare e cancellare il bit MN.

Maschera preimpostata alta (HSCO.MH)
Parametri Formato dati Modalità HSC Accesso al programma utente

HSCO.MH

bit

0...9

sola lettura

Il bit di controllo MH (maschera del valore alto preimpostato) è utilizzato per abilitare (consentire) o disabilitare (non consentire) un interrupt per valore alto preimpostato. Se il bit viene cancellato (0) e l'HSC rileva una condizione di raggiunto valore alto preimpostato, l'interrupt utente HSC non viene eseguito.

Il bit MH è controllato dal programma utente e mantiene il proprio valore anche in caso di spegnimento e riaccensione. Il programma utente deve impostare e cancellare il bit MH.

Maschera preimpostata bassa (HSCO.MH)
Parametri Formato dati Modalità HSC Accesso al programma utente

HSCO.ML

bit

2...9

sola lettura

Il bit di controllo ML (maschera valore basso preimpostato) è utilizzato per abilitare (consentire) o disabilitare (non consentire) un interrupt per valore basso preimpostato. Se il bit viene cancellato (0) e viene rilevata dall'HSC una condizione di raggiunto valore basso preimpostato, l'interrupt utente HSC non viene eseguito.

Il bit ML è controllato dal programma utente e mantiene il proprio valore anche in caso di spegnimento e riaccensione. Il programma utente deve impostare e cancellare il bit ML.

322

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Vedere anche

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)

Configurazione di un Interrupt utente dell'High Speed Counter (HSC) a pagina 318

Configurazione di un interruttore di fine corsa programmabile (PLS)

L'high-speed counter prevede modalità operative aggiuntive per l'implementazione di un interruttore di fine corsa programmabile (PLS). La funzione PLS si utilizza per configurare l'High-Speed Counter in modo da farlo funzionare come un PLS o un commutatore rotativo a camme. La funzione PLS supporta fino a 255 coppie di valori alti e bassi preimpostati e può essere utilizzata quando è necessaria più di una coppia di questi valori.

Abilitazione della PLS nell'HSC
La modalità PLS è operativa solo insieme all'HSC del controllore Micro800 e deve essere abilitata nell'istruzione HSC impostando il parametro HSCAppData.PLSEnable su True.
Il parametro PLSPosition viene ripristinato al termine di un ciclo completo e al raggiungimento del valore HSCSTS.HP. Il reset dell'istruzione HSC o lo spostamento dello 0 sul parametro PLSPosition non esegue il reset di PLSPosition.

Operazione HSC con PLS abilitata
La funzione PLS può operare con tutte le altre funzionalità dell'HSC, compresa la possibilità di selezionare gli eventi HSC che generano un'interruzione da parte dell'utente.
Quando è abilitata la funzione PLS e il controllore è in modalità di esecuzione, l'HSC conta gli impulsi in ingresso e si verificano i seguenti eventi.
· Quando il conteggio raggiunge il primo valore preimpostato (HSCHP or HSCLP) definito nei dati PLS, i dati di origine per l'uscita (HSCHPOutput o HSCLPOutput) sono scritti nella maschera dell'HSC (HSCAPP.OutputMask).
· A questo punto i valori preimpostati successivi (HSCHP e HSCLP) definiti nei dati PLS diventano attivi.
· Quando l'HSC esegue il conteggio fino al nuovo valore preimpostato, i nuovi dati di uscita vengono scritti nella maschera dell'HSC.
· Questo processo continua fino al caricamento nel blocco dati PLS dell'ultimo elemento.
· A questo punto l'elemento attivo nel blocco dati PLS viene ripristinato a zero.
· Questo comportamento è definito operazione circolare.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

323

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
La differenza valore preimpostato PLS tra HSC integrato e modulo
plug-in HSC
I comportamenti preimpostati HSCHP e HSCLP PLS sono diversi tra modulo HSC integrato e modulo plug-in HSC. Il bit valore altro preimpostato HSC integrato verrà impostato solo quando viene eseguito l'ultimo PLS, mentre il bit valore alto preimpostato del modulo plug-in HSC verrà impostato quando viene eseguito il primo PLS. Ad esempio:
· HSC PLS0-PLS23 integrato:
Valore altro preimpostato verrà impostato quando il valore PLS23HP=Accumulator Valore basso preimpostato verrà impostato quando il valore PLS23LP=Accumulator
· PLS0-PLS23 plug-in HSC:
Valore altro preimpostato verrà impostato quando il valore PLS0HP=Accumulator Valore basso preimpostato verrà impostato quando il valore PLS0LP=Accumulator

Vedere anche
Configurazione degli interrupt da parte dell'utente dell'HighSpeed Counter (HSC) a pagina 318
Esempio: Come creare un programma High Speed Counter (HSC) a pagina 324
Esempio: interruttore fine corsa programmabile (PLS) abilitato a pagina 335
HSC (High Speed Counter) a pagina 298
Aggiornamento dei dati dell'applicazione HSC a pagina 317

Esempio: come creare un programma High-Speed Counter (HSC)

Questo esempio illustra come creare un programma High-Speed Counter (HSC) che impiega un encoder in quadratura e include una funzione interruttore di fine corsa programmabile (PLS).
Encoder in quadratura utilizzato nell'esempio
Nell'esempio di programma, per l'High Speed Counter si utilizza un blocco funzione dell'HSC e un contatore in quadratura con ingressi in fase A e B. L'encoder in quadratura determina la direzione di rotazione e la posizione dello strumento rotante, ad esempio un tornio. Il contatore bidirezionale conta le rotazioni dell'encoder in quadratura.
Il seguente encoder in quadratura è connesso agli ingressi 0 e 1. La direzione del conteggio è determinata dall'angolo di fase tra A e B:

324

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
· Se A porta a B, il contatore segna un incremento. · Se B porta ad A, il contatore segna un decremento.

Creazione di un programma High-Speed Counter (HSC)

Eseguire le seguenti attività per creare, compilare e testare il programma HSC, quindi aggiungere una funzione PLS.

Intestazione tabella 1 2

Intestazione tabella
Creazione di un ladder diagram e aggiunta di variabili a pagina 325 Assegnazione di valori alle variabili HSC a pagina 328

3

Assegnazione di variabili e compilazione del programma a pagina 329

4

Test del programma ed esecuzione dell'High-Speed Counter a pagina 331

5

Aggiunta di una funzione interruttore di fine corsa programmabile (PLS) a pagina 334

Creazione di un ladder diagram e aggiunta di variabili

Vedere anche
Aggiornamento dei dati dell'applicazione HSC a pagina 317
Configurazione degli interrupt da parte dell'utente dell'HighSpeed Counter (HSC) a pagina 318
Configurazione di un interruttore di fine corsa programmabile (PLS) a pagina 323
Esempio: interruttore fine corsa programmabile (PLS) abilitato a pagina 335
HSC (High Speed Counter) a pagina 298
Creare un diagramma ladder e aggiungere variabili locali al ramo. In questo programma esemplificativo si utilizza un controllore 2080-LC5024QVB. L'HSC è supportato da tutti i controllori Micro830 e Micro850, tranne i tipi di controllore 2080-LCxx-xxAWB.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

325

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
Per creare un diagramma ladder e aggiungere variabili:
1. Nella Casella degli strumenti dispositivo espandere la scheda Catalogo per visualizzare le cartelle del dispositivo.
2. Espandere le cartelle Controllori e Micro830 per visualizzare tutti i controllori Micro830. Fare doppio clic su un controllore (2080LC50-24QVB) per aggiungerlo all'Organizzatore progetto.

3. Nell'Organizzatore progetto fare clic con il pulsante destro del mouse su Programmi, scegliere Aggiungi e quindi fare clic su Nuovo LD: ladder diagram per aggiungere un nuovo programma con logica ladder.
4. Fare clic con il pulsante destro del mouse su UntitledLD, quindi scegliere Apri.
5. Nella finestra di dialogo Casella degli strumenti.
· Fare doppio clic su Contatto diretto per aggiungerlo al piolo oppure
· Trascinare e rilasciare un Contatto diretto sul piolo.

6. Assegnare una variabile al contatto diretto:

326

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
· Fare doppio clic sul contatto diretto per visualizzare il Selettore di variabili, quindi fare clic sulla scheda I/O Micro830.
· Fare clic su _IO_EM_DI_05 e quindi su OK per assegnare il contatto diretto all'ingresso 5.

7. Nella finestra di dialogo Casella degli strumenti, selezionare un blocco funzione e trascinarlo a destra del contatto diretto, come mostrato nella seguente immagine.
8. Fare doppio clic sul blocco funzione per visualizzare il Selettore blocco istruzione.
9. Nel Selettore blocco istruzione, selezionare HSC e fare clic su OK.
10. Verificare che il piolo del ladder risulti simile alla seguente figura.

11. Nell'Organizzatore progetto fare doppio clic su Variabili locali per visualizzare la pagina Variabili.
12. Nella pagina Variabili, aggiungere le variabili e i tipi di dati riportati di seguito.

Nome variabile

Tipo di dati

MyCommand

USINT

MyAppData

HSCAPP

MyInfo

HSCSTS

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

327

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)

MyPLS

PLS

MyStatus

UINT

Risultato
La pagina Variabili deve corrispondere all'immagine seguente:

Vedere anche
Aggiunta di una funzione interruttore di fine corsa programmabile (PLS) a pagina 334
Configurazione di un interruttore di fine corsa programmabile (PLS) a pagina 323
Esempio: Come creare un programma per l'High Speed Counter (HSC) a pagina 324
HSC (High Speed Counter) a pagina 298

Assegnazione di valori alle variabili HSC

Una volta aggiunte le variabili, attenersi alla seguente procedura per aggiungere valori alle variabili utilizzando la colonna Valore iniziale nel Selettore di variabili. Un programma standard di norma utilizza una routine per assegnare valori alle variabili.

Per assegnare valori alle variabili HSC:
1. Espandere MyAppData per visualizzare tutte le variabili. 2. Assegnare il valore della modalità HSC:
· Nel campo Valore iniziale della variabile MyAppData.HSCMode digitare 6.
· Per maggiori informazioni sulla descrizione di ciascun valore, vedere HSCMode in Tipo di dati HSCAPP.

328

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
3. Assegnare il resto dei valori alle variabili MyAppData, come mostrato nella seguente figura.
· Nel campo Valore iniziale immettere il valore. · Vedere tipo di dati HSCAPP per maggiori informazioni sulla
descrizione di ciascun valore.

4. Assegnare il valore comando HSC: · Nel campo Valore iniziale della variabile MyCommand digitare 1. · Per maggiori informazioni sui valori del comando, vedere Valori HSCCmd a pagina 300.
Vedere anche
Aggiunta di una funzione interruttore di fine corsa programmabile (PLS) a pagina 334 Assegnazione di variabili e compilazione del programma a pagina 329 Configurazione di un interruttore di fine corsa programmabile (PLS) a pagina 323 Esempio: come creare un programma High-Speed Counter (HSC) a pagina 324
Tipo di dati HSCAPP a pagina 301

Assegnazione di variabili e compilazione del programma

Una volta immessi i valori nelle variabili HSC, attenersi alla seguente procedura per assegnare le variabili al blocco funzione e compilare il programma.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

329

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
Per assegnare variabili e compilare il programma:
1. Nell'editor di diagramma ladder, assegnare ciascuna variabile all'elemento di blocco funzione HSC come mostrato.

2. Nell'Organizzatore progetto, fare clic sul controllore per visualizzare la relativa struttura ad albero.

330

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
3. Dalla struttura ad albero del controllore, fare clic su I/O integrato e selezionare i filtri di ingresso dell'encoder.

4. Verificare che l'encoder sia connesso al controllore Micro830. 5. Avviare il controllore Micro830 e connetterlo al computer. 6. Compilare il programma e scaricarlo nel controllore.
Vedere anche
Esempio: Come creare un programma per l'High Speed Counter (HSC) a pagina 324 Creazione di un ladder diagram e aggiunta di variabili a pagina 325 Assegnazione di valori alle variabili HSC a pagina 328 Configurazione di un interruttore di fine corsa programmabile (PLS) a pagina 323 Aggiunta di una funzione interruttore di fine corsa programmabile (PLS) a pagina 334

Test del programma ed esecuzione dell'High-Speed Counter

Una volta scaricato il programma per l'HSC nel controllore, è possibile collaudarlo e quindi eseguire l'High-Speed Counter.
Per collaudare il programma:
1. Connettersi al controllore. 2. Dall'Organizzatore progetto, fare doppio clic sul programma
HSC, quindi doppio clic su Variabili locali.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

331

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
È possibile visualizzare i valori delle due uscite dell'HSC: STS (MyStatus) e HSCSTS (MyInfo).
3. Fare doppio clic sul contatto diretto _IO_EM_DI_05 per aprire la finestra Selettore di variabili.
4. Fare clic sulla scheda I/O Micro830, quindi sulla riga _IO_EM_DI_05.
5. Selezionare Blocco e Valore logico per forzare la posizione ON sull'ingresso.

6. Per visualizzare i risultati, fare clic sulla scheda Variabili locali per visualizzare le modifiche alle variabili.
7. Espandere l'elenco variabili MyAppData e MyInfo. 8. Accendere l'encoder per visualizzare il conteggio
crescente/decrescente. Ad esempio, se l'encoder è installato in un albero motore, accendere il motore per attivare il conteggio dell'HSC. 9. Verificare che il Valore logico di nella variabile MyStatus sia 1, a indicare che l'HSC è in funzione. 10. Visualizzare il valore del conteggio in MyInfo.Accumulator. Vedere HSC (High Speed Counter) per l'elenco completo dei codici di stato.
Risultati
In questo esempio, quando MyInfo.Accumulator raggiunge un valore alto preimpostato di 40, l'uscita 0 passa a On e il flag HPReached

332

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
passa a On. Se MyInfo.Accumulator raggiunge un valore basso preimpostato di -40, l'uscita 1 si attiva e il flag LPReached si attivano.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

333

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
Vedere anche
Aggiunta di una funzione interruttore di fine corsa programmabile (PLS) a pagina 334
Configurazione di un interruttore di fine corsa programmabile (PLS) a pagina 323
Esempio: Come creare un programma per l'High Speed Counter (HSC) a pagina 324
HSC (High Speed Counter) a pagina 298

Add a Programmable Limit Switch (PLS) function

L'esempio mostra come aggiungere una funzione Interruttore di fine corsa programmabile (PLS) al programma HSC.
Valori delle variabili per le impostazioni del contatore:
· MyAppData.PlsEnable serve per attivare e disattivare le impostazioni PLS. Deve essere impostato a FALSE (disabilitato) se viene utilizzata la variabile MyAppData.
· MyAppData.HscID serve per specificare quale input viene utilizzato in base alla modalità e al tipo di applicazione. Vedere gli schemi dei cablaggi e degli input HSC, per riconoscere i diversi ID utilizzabili, così come gli input integrati e le relative caratteristiche.
· Se viene utilizzato ID 0, ID 1 non può essere utilizzato nello stesso controllore, in quanto gli input sono utilizzati da Reset e Hold.
· MyAppData.HscMode serve per specificare il tipo di operazione utilizzata da HSC per il conteggio. Vedere la modalità HSC (HSCAPP.HSCMode).

Per abilitare la funzione PLS:
1. In Organizzatore progetto, fare doppio clic su Variabili locali per visualizzare la pagina Variabili.
2. Abilitare la funzione PLS:
· Nel campo Valore iniziale della variabile MyAppData.PlsEnable selezionare TRUE.
3. Configurare le impostazioni di underflow e overflow:
· Nel campo Valore iniziale di MyAppData.OFSetting digitare 50. · Nel campo Valore iniziale di MyAppData.UFSetting digitare -
50.
4. (facoltativo) Configurare la maschera di uscita se si tratta di un'uscita.
I risultati in questo esempio:
· La variabile PLS ha una dimensione di [1..4]. Ciò significa che l'HSC può avere quattro coppie di valori alto e basso preimpostati.

334

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 14 Istruzioni per l'High Speed Counter (HSC)
· I valori alti preimpostati devono sempre essere impostati su un valore inferiore rispetto a OFSetting, mentre i valori bassi preimpostati devono essere impostati su un valore superiore rispetto a UFSetting.
· I valori HscHPOutPut e HscLPOutPut determinano le uscite che vengono attivate, al raggiungimento di un valore alto o basso preimpostato.

Vedere anche
Esempio: come creare un programma High-Speed Counter (HSC) a pagina 324
Configurazione di un interruttore di fine corsa programmabile (PLS) a pagina 323

Esempio: interruttore fine corsa programmabile (PLS) abilitato

In questo esempio vengono descritti i risultati in caso di funzione PLS abilitata con specifici valori per i parametri HSC e PLSData.
Valori del parametro HSC

Questo esempio presuppone che i parametri HSC siano impostati sui seguenti valori:

· HSCApp.OutputMask = 31 · HSCApp.HSCMode = 0 · L'HSC controlla solo l'uscita integrata 0...4

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

335

Capitolo 14

Istruzioni per l'High Speed Counter (HSC)
Valori del parametro PLSData
Nell'esempio si presuppone che i parametri PLSData relativi alla variabile (HSC_PLS) siano configurati nel modo indicato di seguito.

Risultati abilitati dalla PLS
Nell'esempio si verificano i seguenti eventi.
· Alla prima esecuzione della logica ladder: HSCSTS.Accumulator = 1 significa che tutte le uscite sono disattivate.
· Quando HSCSTS.Accumulator = 250, HSC_PLS[1].HSCHPOutput è inviato alla maschera HSCAPP.OutputMask e attiva le uscite 0 e 1.
· Si ripete l'invio dell'uscita con valore alto preimpostato alla maschera delle uscite, finché HSCSTS.Accumulator raggiunge 500, 750 e 1000; il controllore attiva rispettivamente le uscite 0...2, 0...3 e 0...4.
· Al termine del funzionamento, il ciclo viene reimpostato e ripetuto da HSCSTS.HP = 250.
· Quando l'intero ciclo è completo e il valore HSCSTS.HP viene raggiunto, il parametro PLSPositon viene ripristinato.
Vedere anche
Aggiornamento dei dati dell'applicazione HSC a pagina 317
Configurazione delle interruzioni da parte dell'utente dell'HighSpeed Counter (HSC) a pagina 318
Configurazione di un interruttore di fine corsa programmabile (PLS) a pagina 323
Esempio: come creare un programma High-Speed Counter (HSC) a pagina 324
HSC (High Speed Counter) a pagina 298

336

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzione HSCE a pagina 337 HSCE_CFG a pagina 341 HSCE_CFG_PLS a pagina 344 HSCE_READ_STS a pagina 346 HSCE_SET_STS a pagina 337
HSCE

Istruzioni HSCE

Capitolo 15

Utilizzare le istruzioni HSCE per monitorare e controllare l'High Speed Counter.
Descrizione HSCE: avvio, arresto e lettura del valore dell'accumulatore. HSCE_CFG è la configurazione dell'High Speed Counter. HSCE_CFG_PLS è la configurazione dell'interruttore di fine corsa programmabile (PLS) dell'High Speed Counter. HSCE_READ_STS legge lo stato dell'High Speed Counter. HSCE_SET_STS imposta/esegue il reset manuale dello stato dell'High Speed Counter.
Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18 Tipo di dati HSCE_CHANNEL a pagina 312 Tipo di dati HSCE_STS a pagina 313 Tipo di dati PLS_HSCE a pagina 314

HSCE è utilizzato per controllare e leggere il contatore HSC.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

337

Capitolo 15 Istruzioni HSCE

Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870.

Parametro Enable
Canale Run
Reset
Done Attivo
Rate1 Rate2 TPValue OutputSts
Stato Errore ErrorID

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso
Ingresso Ingresso

BOOL
HSCE_CHANNEL BOOL

TRUE: HSCE avvia il blocco funzione e il modulo plug-in HSC. Accumulatore = InitAcc. Verrà eseguito il reset di HSCE. Rate1 = 0, Rate2 = 0. FALSE: l'accumulatore viene aggiornato con la lettura dal modulo plug-in. Done, Active, Error = FALSE dove ErrorID = 0, Rate1, Rate2 = 0. Il canale HSCE.
Permette a HSCE di conteggiare lo stato operativo. TRUE: HSCE conteggia gli impulsi. FALSE: HSCE arresta il conteggio.

Ingresso

BOOL

Uscita

BOOL

Uscita

BOOL

Uscita

REAL

Uscita

REAL

Uscita

LINT

Uscita

UINT

Uscita

UINT

Uscita

BOOL

Uscita

UINT

True: tutte le uscite vengono cancellate e l'accumulatore. Anche Rate1 e Rate2 vengono cancellati e impostati su 0. Cancella lo stato del modulo plug-in HSC. La priorità di Reset input è maggiore del valore immesso per Run
True: se HSCE Enable è True e non viene rilevato alcun errore False: se HSCE Enable è True ma Run è False. True: se HSCE Enable è True, Done è True e Run è False. False: se HSCE Enable è True ma Run è False.
Frequenza di impulso corrente in unità utente al secondo (metodo Per impulso). Frequenza di impulso corrente in unità utente al secondo (metodo Ciclico). Acquisizione del valore accumulatore quando si attiva il tastatore. Stato uscita fisica e virtuale del plug-in HSC, applicabile solo al contatore HSC 0. Bit 0: Uscita 0 (stato uscita fisica) Bit da 1 a 15: Da Uscita 1 a Uscita 15 (stato uscita virtuale) Informazioni di stato dell'HSC. Indica che si è verificato un errore. Se si verifica un errore, ErrorID contiene il codice dell'errore.

338

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 15
Esempio di programmazione a blocchi funzionali HSCE

Istruzioni HSCE

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

339

Capitolo 15 Istruzioni HSCE

Esempio di diagramma ladder HSCE

Esempio di testo strutturato HSCE

340

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

HSCE_CFG

Vedere anche
HSCE_CFG a pagina 341 HSCE_CFG_PLS a pagina 344 HSCE_READ_STS a pagina 346 HSCE_SET_STS a pagina 348

Capitolo 15 Istruzioni HSCE

HSCE_CFG è utilizzato per configurare l'High Speed Counter.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870.

Parametro
Execute
Canale
InitAccumulator OFSetting UFSetting HPSetting LPSetting PLS_Offset

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.
Tipo di parametro Tipo di dati Descrizione

Ingresso
Ingresso
Ingresso Ingresso Ingresso Ingresso Ingresso Ingresso

BOOL

Il fronte di salita avvia la configurazione dell'HSC. (HSCE Enable deve essere uguale a FALSE)

Il fronte di discesa cancellerà tutti i valori di uscita.

HSCE_CHANNE Il canale HSCE. L

LINT

Valore iniziale accumulatore.

LINT

Valore limite per overflow contatore.

LINT

Valore limite per underflow contatore.

LINT

Valore alto preimpostato (HP) di HSCE.

LINT

Valore basso preimpostato (LP) di HSCE.

USINT

Offset per l'avvio nel vettore dati PLS.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

341

Capitolo 15 Istruzioni HSCE

OutputMask HPOutput LPOutput Done Errore ErrorID

Ingresso Ingresso Ingresso Uscita Uscita Uscita

USINT

Maschera di uscita per la funzionalità PLS.

UDINT

Stato uscite valore alto preimpostato.

UDINT

Stato uscite valore basso preimpostato.

BOOL

Azione di configurazione dell'HSC (avviata da questa istruzione) eseguita correttamente.

BOOL

Indica che si è verificato un errore.

UINT

Se si verifica un errore, ErrorID contiene il codice dell'errore.

Esempio di programmazione a blocchi funzionali HSCE_CGF

342

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di diagramma ladder HSCE_CGF

Capitolo 15 Istruzioni HSCE

Esempio di testo strutturato HSCE_CGF

Vedere anche
Istruzioni HSCE a pagina 337 HSCE a pagina 337 HSCE_CFG_PLS a pagina 344 HSCE_READ_STS a pagina 346 HSCE_SET_STS a pagina 348

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

343

Capitolo 15 Istruzioni HSCE
HSCE_CFG_PLS

Utilizzare questa istruzione per la configurazione di HSC con interruttore di fine corsa programmabile (PLS). Questa funzione fornisce un insieme aggiuntivo di modalità operative per l'High Speed Counter. In queste modalità i valori dei dati preimpostati di uscita vengono aggiornati usando i dati forniti dall'utente ogni volta che viene raggiunto uno dei valori preimpostati. Per programmare queste modalità, utilizzare un file PLS con i set di dati da usare.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870.

Parametro
Execute
Canale InitAccumulator OFSetting UFSetting PLS_Data
PLS_Size PLS_Offset OutputMask Done Errore ErrorID

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di

Tipo di dati

parametro

Ingresso BOOL

Ingresso Ingresso Ingresso
Ingresso Ingresso

HSCE_CHANNEL LINT LINT
LINT PLS2

Descrizione
Il fronte di salita avvia la configurazione dell'HSC. (HSCE Enable deve essere uguale a FALSE) Il fronte di discesa cancellerà tutti i valori di uscita. Il canale HSCE. Valore iniziale accumulatore. Valore limite per overflow contatore.
Valore limite per underflow contatore. Vettore di PLS (PLS_64)

Ingresso USINT

Ingresso USINT

Ingresso USINT

Uscita

BOOL

Uscita

BOOL

Uscita

UINT

Dimensioni dei dati PLS, con valore massimo di 24 per il plug-in. Offset per l'avvio nel vettore dati PLS. Maschera di uscita per la funzionalità PLS. Azione di configurazione dell'HSC (avviata da questa istruzione) eseguita correttamente. Indica che si è verificato un errore. Se si verifica un errore, ErrorID contiene il codice dell'errore.

344

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 15 Istruzioni HSCE
Esempio di programmazione a blocchi funzionali HSCE_CGF_PLS
Esempio di diagramma ladder HSCE_CGF_PLS

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

345

Capitolo 15 Istruzioni HSCE

Esempio di testo strutturato HSCE_CGF_PLS

HSCE_READ_STS

Vedere anche
Istruzioni HSCE a pagina 337 HSCE a pagina 337 HSCE_CFG a pagina 341 HSCE_READ_STS a pagina 346 HSCE_SET_STS a pagina 348
L'istruzione viene usata per leggere lo stato corrente dell'HSC. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870.

Parametro
Enable Canale Valid HSCEStsInfo Errore ErrorID

Tipo di parametro
Ingresso Ingresso Uscita Ingresso
Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL HSCE_CHANNEL BOOL LINT
BOOL UINT

Se Enable è True, HSC2StsInfo viene aggiornato. Il canale HSCE. HSC2StsInfo è Valid se TRUE. Valore limite per overflow contatore.
Indica che si è verificato un errore. Se si verifica un errore, ErrorID contiene il codice dell'errore.

346

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 15 Istruzioni HSCE
Esempio di programmazione a blocchi funzionali HSCE_READ_STS
Esempio di diagramma ladder HSCE_READ_STS

Esempio di testo strutturato HSCE_READ_STS

Vedere anche
Istruzioni HSCE a pagina 337 HSCE a pagina 337 HSCE_CFG a pagina 341 HSCE_CFG_PLS a pagina 344 HSCE_SET_STS a pagina 348

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

347

Capitolo 15 Istruzioni HSCE
HSCE_SET_STS

L'istruzione consente l'impostazione e il reset manuali dei flag di stato nel conteggio dell'HSC. Il blocco funzione dell'HSC deve essere interrotto per consentire l'impostazione o il reset dello stato HTS da parte del blocco funzione HSCE_SET_STC. Se non si interrompe il blocco funzione dell'HSC o non si configura il canale HSC, il blocco funzione HSC2_SET_STS genererà un errore.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870.

Parametro Enable Canale HPReached LPReached OFOccurred UFOccurred
348

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro

Tipo di dati

Descrizione

Ingresso Ingresso Uscita Ingresso Ingresso
Ingresso

BOOL HSCE_CHANNEL BOOL BOOL BOOL
BOOL

Abilita Blocco funzione. TRUE: imposta/esegue il reset dello stato dell'HSC. FALSE: nessuna modifica allo stato HSC. Il canale HSCE. Quando si raggiunge il valore alto preimpostato, questo bit viene impostato su TRUE dal modulo plug-in. Impostare o reimpostare questo bit tramite il blocco funzione HSCE_SET_STS. Quando si raggiunge il valore basso preimpostato, questo bit viene impostato su TRUE dal modulo plug-in. Impostare o reimpostare questo bit tramite il blocco funzione HSCE_SET_STS. Quando si verifica un overflow, questo bit viene impostato su TRUE dal modulo plug-in. Impostare o eseguire il reset di questo bit tramite il blocco funzione HSCE_SET_STS.
Quando si verifica un underflow, questo bit viene impostato su TRUE dal modulo plug-in. Impostare o reimpostare questo bit tramite il blocco funzione HSCE_SET_STS.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

TouchProbe Conserva
Preimposta
Done Errore ErrorID

Ingresso Ingresso
Ingresso
Uscita Uscita Uscita

Capitolo 15 Istruzioni HSCE

BOOL

Quando si attiva il tastatore, questo bit viene impostato su TRUE dal modulo plug-in.

BOOL

Quando si attiva il mantenimento dell'HSC, questo bit viene impostato su TRUE dal

modulo plug-in. Impostare o eseguire il ripristino di questo bit tramite il blocco funzione

HSCE_SET_STS. Questo parametro di ingresso è valido solo per il contatore 0. Per il

contatore 1 è sempre Reset

BOOL

Quando si attiva Z ACC Reset, questo bit viene impostato su TRUE dal modulo plug-in.

Impostare o reimpostare questo bit tramite il blocco funzione HSCE_SET_STS.

Questo parametro di ingresso è valido solo per il contatore 0. Per il contatore 1 è sempre Reset.

BOOL

Azione di configurazione dell'HSC (avviata da questa istruzione) eseguita correttamente.

BOOL

Indica che si è verificato un errore.

UINT

Se si verifica un errore, ErrorID contiene il codice dell'errore.

Esempio di programmazione a blocchi funzionali HSCE_SET_STS

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

349

Capitolo 15 Istruzioni HSCE

Esempio di diagramma ladder HSCE_SET_STS

Esempio di testo strutturato HSCE_SET_STS

Vedere anche
Istruzioni HSCE a pagina 337 HSCE a pagina 337 HSCE_CFG a pagina 341 HSCE_CFG_PLS a pagina 344 HSCE_READ_STS a pagina 346

350

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Codici di errore HSCE

Capitolo 15 Istruzioni HSCE
Nella tabella seguente sono descritti i codici di errore dello stato per le istruzioni HSCE:

Codice ErrorID Descrizione errore

Azione correttiva

0

L'istruzione ha completato correttamente

l'operazione.

1

File di configurazione HSC non validi.

Contattare il rappresentante del supporto tecnico di Rockwell Automation. Per le informazioni sui

contatti, visitare:

http://www.rockwellautomation.com/support

2

Tipo di modulo HSC non valido.

Correggere il tipo di modulo. Ad esempio, selezionare il tipo di modulo come plug-in.

3

ID slot HSC non valido.

Correggere l'ID slot nel canale di ingresso del blocco funzione.

4

ID HSC non valido.

5

Modalità non valida per il canale.

6

Dimensione PLS non valida.

7

Offset PLS non valido.

Correggere l'ID HSC. Ad esempio, impostare 0 per contatore 0. Contattare il rappresentante del supporto tecnico di Rockwell Automation. La dimensione PLS deve essere  24 e la dimensione del vettore dati PLS deve essere  rispetto alla dimensione PLS. Offset PLS + Dimensione PLS deve essere inferiore alla dimensione del vettore dati PLS.

8

Valore InitAccumulator non valido.

9

LP non valido.

10

OF non valido.

11

UF non valido.

12

HP non valido.

13

Nessuna configurazione per HSCE.

14

Stato HSCE non valido.

Correggere il valore InitAccumulator. È possibile che ecceda il limite o sia esterno all'intervallo del limite LP o HP (LP  InitACC  HP). Correggere il valore LP. Può eccedere il limite. Correggere il valore OF. Correggere il valore UF. Correggere il valore HP. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Controllare il blocco funzione HSCE correlato per confermare lo stato di questo blocco funzione.

15

Modulo plug-in non valido

16

HSCE è in esecuzione.

Controllare il modulo plug-in per confermare che è un modulo HSC. Quando HSC è in fase di conteggio, non è consentito alcuno stato di configurazione e impostazione. HSCE_CFG e HSCE_CFG_PLS vengono eseguiti mentre HSCE è in esecuzione.

17

Errore arresto plug-in HSC.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

18

Errore aggiornamento velocità di scrittura.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

19

Errore scrittura del numero di più.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

20

Errore scrittura Applica ACC.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

21

Errore scrittura ACC.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

22

Errore scrittura Applica.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

23

Errore scrittura numero di PLS.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

24

Errore scrittura under flow.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

25

Errore scrittura over flow.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

26

Errore scrittura valore basso preimpostato.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

27

Errore scrittura valore alto preimpostato.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

28

Errore scrittura uscita valore basso preimpostato. Contattare il rappresentante del supporto tecnico di Rockwell Automation.

29

Errore scrittura uscita valore alto preimpostato. Contattare il rappresentante del supporto tecnico di Rockwell Automation.

30

Errore scrittura maschera di uscita.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

31

Errore scrittura uscita valore basso preimpostato Contattare il rappresentante del supporto tecnico di Rockwell Automation.

PLS.

32

Errore scrittura uscita valore alto preimpostato PLS. Contattare il rappresentante del supporto tecnico di Rockwell Automation.

33

Errore scrittura valore basso preimpostato PLS. Contattare il rappresentante del supporto tecnico di Rockwell Automation.

34

Errore scrittura uscita valore alto preimpostato PLS. Contattare il rappresentante del supporto tecnico di Rockwell Automation.

35

Errore scrittura offset PLS.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

351

Capitolo 15
Codice ErrorID
36 37 38 39 40
41 42 43 44 45 46

Istruzioni HSCE
Descrizione errore
Errore scrittura numero PLS. Errore lettura stato. Errore lettura valore alto preimpostato. Errore lettura valore basso preimpostato. Errore lettura ACC.
Errore lettura larghezza numero di impulsi. Errore lettura larghezza impulso. Errore lettura numero di impulsi. Errore lettura velocità di aggiornamento. Errore scrittura stato. Errore lettura uscita valore basso preimpostato.

47

Errore lettura uscita valore alto preimpostato.

48

Errore lettura numero PLS.

49

N.D.

50

Errore scrittura stato Applica.

51

Canale di ingresso non valido.

52

Errore lettura tastatore.

53

Errore scrittura ripristino ACC.

54

Errore avvio HSC.

55

Contatore disabilitato.

56

Valore maschera di uscita non valido.

57

Uscita valore alto preimpostato non valida.

Azione correttiva
Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation.
Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation.
Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation. Contattare il rappresentante del supporto tecnico di Rockwell Automation.
Contattare il rappresentante del supporto tecnico di Rockwell Automation.
Contattare il rappresentante del supporto tecnico di Rockwell Automation.
Il contatore HSC è disabilitato. Controllare la configurazione canale per verificare se il contatore HSC è abilitato.
Controllare se la maschera di uscita è interna all'intervallo valido. Per modulo HSC plug-in, l'intervallo è 0-65535.
Controllare se l'uscita HP è interna all'intervallo valido. Per modulo HSC plug-in, l'intervallo è 0-65535.

58

Uscita valore basso preimpostato non valida.

Controllare se l'uscita LP è interna all'intervallo valido. Per modulo HSC plug-in, l'intervallo è 0-65535.

59

Revisione UPM non supportata.

60

Nessun modulo HSC aggiunto.

Controllare la configurazione revisione per il modulo plug-in HSC. Controllare se il modulo plug-in effettivo è un modulo HSC.

61

Il modulo plug-in HSCE non è configurato.

Contattare il rappresentante del supporto tecnico di Rockwell Automation.

62

Un errore di scrittura plug-in UPM si verifica durante Contattare il rappresentante del supporto tecnico di Rockwell Automation.

la modifica della modalità plug-in HSC in modalità

Non in esecuzione.

63

Un errore di scrittura plug-in UPM si verifica durante Contattare il rappresentante del supporto tecnico di Rockwell Automation.

la modifica della modalità plug-in HSC in modalità

Esecuzione.

64

Un errore lettura plug-in UPM si verifica durante la Contattare il rappresentante del supporto tecnico di Rockwell Automation.

lettura dello stato di uscita.

Vedere anche
HSCE a pagina 337 HSCE_CFG a pagina 341 HSCE_CFG_PLS a pagina 344

352

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

HSCE_READ_STS a pagina 346 HSCE_SET_STS a pagina 348

Capitolo 15 Istruzioni HSCE

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

353

Istruzioni ingresso/uscita

Capitolo 16

Utilizzare le istruzioni ingresso/uscita per leggere o scrivere i dati verso o da un controllore oppure un modulo utilizzando i segnali inviati verso un dispositivo fisicamente connesso a un controllore logico programmabile. I relè ingresso trasferiscono i segnali ai relè interni, mentre i relè uscita trasferiscono i segnali ai dispositivi di uscita esterni.

Istruzione

Descrizione

LCD a pagina 356 LCD_BKLT_REM a pagina 358

Solo Micro810. Visualizza una stringa o un numero su una schermata LCD.
Imposta i parametri di retroilluminazione dell'LCD remoto all'interno di un programma utente.

LCD_REM a pagina 360

Visualizza i messaggi definiti dall'utente per l'LCD remoto.

RHC a pagina 364 RPC a pagina 365 DLG a pagina 366 IIM a pagina 368 IOM a pagina 370 KEY_READ a pagina 372
KEY_READ_REM a pagina 375
MM_INFO a pagina 377 MODULE_INFO a pagina 380
PLUGIN_INFO a pagina 392
PLUGIN_READ a pagina 394
PLUGIN_RESET a pagina 397
PLUGIN_WRITE a pagina 398
RCP a pagina 400 RTC_READ a pagina 403 RTC_SET a pagina 405 SYS_INFO a pagina 407 TRIMPOT_READ a pagina 410

Legge il valore high speed clock nel controllore Micro800. Legge il checksum del programma dell'utente dal controllore o dal modulo di memoria. Scrive i valori di variabile dal motore di runtime in un file di registrazione dati su una scheda SD.
Aggiorna gli ingressi prima della normale scansione in uscita. Aggiorna le uscite prima della normale in uscita. Solo Micro810. Legge lo stato della chiave su un modulo LCD opzionale quando il display dell'utente è attivo. Solo Micro820. Legge lo stato della chiave su un modulo LCD remoto opzionale quando il display dell'utente è attivo.
Legge le informazioni sull'intestazione del modulo di memoria.
Legge le informazioni di modulo da un modulo plug-in o di espansione ad eccezione del modulo di memoria 2080-MEMBAK-RTC.
Legge le informazioni di modulo da un modulo plug-in generico o di espansione ad eccezione del modulo di memoria 2080-MEMBAK-RTC. Legge i dati da un modulo plug-in generico ad eccezione del modulo di memoria 2080-MEMBAKRTC. Esegue il reset dell'hardware per un modulo plug-in generico ad eccezione del modulo di memoria 2080-MEMBAK-RTC. Scrive i dati su un modulo plug-in generico ad eccezione del modulo di memoria 2080-MEMBAKRTC. Legge e scrive dati Ricetta su e da una scheda di memoria SD.
Legge le informazioni sul modulo real-time clock (RTC). Imposta i dati RTC sulle informazioni del modulo RTC.
Legge il blocco dati dello stato per il controllore Micro800.
Legge il valore TrimPot da un trimpot specifico.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

355

Capitolo 16 Istruzioni ingresso/uscita

LCD

Visualizza una stringa o un numero sullo schermo LCD opzionale.

Lingue supportate: Programmazione a blocchi funzionali, Diagramma

ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810.

Parametro Enable
Line1 Line2 Line3 Line4 LCD

Tipo di parametro Ingresso
Ingresso Ingresso Ingresso Ingresso Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
STRING STRING STRING STRING BOOL

Abilitazione istruzioni. TRUE: l'LCD passa allo schermo definito dall'utente (le stringhe vengono visualizzate sullo schermo LCD) invece che alla schermata di stato I/O. FALSE: l'LCD visualizza il contenuto della schermata di stato I/O. Stringa visualizzare alla riga 1 dell'LCD. Stringa visualizzare alla riga 2 dell'LCD.
Stringa visualizzare alla riga 3 dell'LCD. Stringa visualizzare alla riga 4 dell'LCD. TRUE: la funzione è abilitata.

Esempio di programmazione a blocchi funzionali LCD

356

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di Diagramma ladder LCD

Capitolo 16 Istruzioni ingresso/uscita

Esempio di testo strutturato LCD
(* Equivalenza ST: *) TESTOUTPUT := LCD(LCDENABLE, LINE1, LINE2, LINE3, LINE4) ;

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

357

Capitolo 16

Istruzioni ingresso/uscita
Risultati

Vedere anche
Istruzioni ingresso/uscita a pagina 355 KEY_READ a pagina 372

LCD_BKLT_REM (retroilluminazione LCD remoto)

Imposta i parametri di retroilluminazione dell'LCD remoto all'interno del programma utente.
Dettagli operazione:
Le impostazioni di retroilluminazione definite in LCD_BKLT_REM vengono utilizzate quando il display LCD remoto è:
· Una schermata definita dall'utente mediante LCD_REM. · La schermata predefinita dello stato I/O. · Per tutte le altre schermate, le impostazioni di retroilluminazione
utilizzate sono quelle definite per mezzo dei menu disponibili nell'LCD remoto.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820.

358

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri Enable Colore
Modalità LCD_BKLT_REM Sts

Tipo di parametro

Capitolo 16 Istruzioni ingresso/uscita
Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.
Tipo di dati Descrizione

Ingresso Ingresso
Ingresso Uscita Uscita

BOOL

Abilitazione istruzioni.

TRUE: esegue REM_LCD_BKLT, le eventuali impostazioni di retroilluminazione correnti vengono

sovrascritte.

FALSE: REM_LCD_BKLT viene disattivato e le impostazioni di menu LCD remoto diventano effettive.

UINT

Codice colore retroilluminazione

· 0: Bianco

· 1: Blu

· 2: Rosso

· 3: Verde

· 4-65535: Riservato

UINT

· 0: Definitivamente OFF

· 1: Definitivamente ON

· 2: Lampeggiamento (intervallo 1 sec)

· 3-65535: Riservato

BOOL

TRUE: istruzione eseguita con successo.

FALSE: si è verificato un errore durante l'esecuzione dell'istruzione.

UINT

Stato dell'operazione dell'LCD remoto.

Codici di stato LCD_BKLT_REM:

· 0: ingresso abilitazione è False.

· 1: riuscito.

· 2: LCD remoto non rilevato.

Potrebbe verificarsi quando:

· L'LCD remoto non è connesso fisicamente al controllore oppure il cablaggio non è corretto.

· Le impostazioni della porta seriale sono diverse rispetto a quelle richieste per l'LCD remoto.

· 3: errore di connessione.

Potrebbe verificarsi quando è presente un errore interno dello stato macchina, come un'incompatibilità tra la versione FW del controllore e la versione FW RLCD.

· 4: codice colore non valido.

· 5: modalità non valida.

· 6-65535: riservato.

Esempi di programmazione a blocchi funzionali LCD_BKLT_REM

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

359

Capitolo 16

Istruzioni ingresso/uscita
Esempio di diagramma ladder LCD_BKLT_REM

Esempio di testo strutturato LCD_BKLT_REM

Vedere anche
Istruzioni ingresso/uscita a pagina 355

LCD_REM (LCD remoto)

Visualizza i messaggi definiti dall'utente per l'LCD remoto.
Dettagli operazione:
· Da Line1 a Line8 la lunghezza massima della stringa è di 24 caratteri.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

360

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16
Questa istruzione vale per i controllori Micro820.

Istruzioni ingresso/uscita

Parametri Enable Carattere
Line1 Line2 Line3 Line4 Line5 Line6

Tipo di parametro Ingresso Ingresso
Ingresso Ingresso Ingresso Ingresso Ingresso Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitare il blocco istruzione.

TRUE: l'LCD remoto passa dalla schermata di stato I/O alla schermata definita

dall'utente.

FALSE: l'LCD remoto torna alla schermata di stato I/O.

UDINT

Dimensioni carattere per il messaggio di avvio:

· 0: Predefinito (grande - 8x16)

· 1: Piccolo (8x8)

· 2: Grande (8x16)

· 3: Molto grande (16x16)

· Da 4 in poi: Riservato

Le dimensioni dell'LCD remoto sono pari a 192x64 pixel. Se l'opzione selezionata per le dimensioni carattere del messaggio di avvio è Piccolo, l'LCD remoto visualizza: · Stringhe dalla riga 1 alla riga 8. · Un massimo di 24 caratteri per riga.

Stringa
Stringa Stringa Stringa Stringa Stringa

Se l'opzione selezionata per le dimensioni carattere del messaggio di avvio è Grande o Molto grande, l'LCD remoto visualizza: · Stringhe dalla riga 1 alla riga 4. · Ignora le stringhe dalla riga 5 alla riga 8. · Un massimo di 12 caratteri per riga. Stringa visualizzare alla riga 1 del LCD. Da Line1 a Line8 la lunghezza massima della stringa è di 24 caratteri. Stringa visualizzare alla riga 2 dell'LCD. Stringa visualizzare alla riga 3 dell'LCD.
Stringa visualizzare alla riga 4 dell'LCD. Stringa visualizzare alla riga 5 dell'LCD.
Stringa visualizzare alla riga 6 dell'LCD.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

361

Capitolo 16
Line7 Line8 LCD_REM

Istruzioni ingresso/uscita

Ingresso Ingresso Uscita

Stringa Stringa BOOL

Sts

Uscita

UINT

Stringa visualizzare alla riga 7 dell'LCD. Stringa visualizzare alla riga 8 dell'LCD.
Abilita Blocco funzione. Quando Enable = TRUE, lo schermo dell'utente è attivo. Quando Enable = FALSE, lo schermo Stato/Menu IO è attivo. Stato dell'operazione dell'LCD remoto. Codici di stato LCD_REM: · 0: ingresso abilitazione è False. · 1: messaggio utente visualizzato correttamente. · 2: LCD remoto non rilevato. · 3: errore di connessione.
Potrebbe verificarsi quando: · L'LCD remoto non è connesso fisicamente al controllore (o il cablaggio non è
corretto). · Le impostazioni della porta seriale sono diverse rispetto a quelle richieste per
l'LCD remoto. · 4: codice font non valido. · 5: 5-65535: riservati.

Esempio di programmazione a blocchi funzionali LCD_REM

362

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16
Esempio di diagramma ladder LCD_REM

Istruzioni ingresso/uscita

Esempio di testo strutturato LCD_REM

Vedere anche
Istruzioni ingresso/uscita a pagina 355

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

363

Capitolo 16 Istruzioni ingresso/uscita
RHC (lettura high speed clock)

Legge il valore high speed clock nel controllore Micro800.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
ENO RHC

Tipo di parametro Ingresso
Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: lettura high speed clock.

FALSE: nessuna operazione.

Applicabile alle programmazioni in Ladder Diagram.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

UDINT

Valore high speed clock.

Tipo di controllore
Micro810 Micro820 Micro830 Micro850

Risoluzione del clock ad alta velocità

Incrementi

Timebase

4 ogni 40 microsecondi 1 ogni 10 microsecondi

10 microsecondi 10 microsecondi

Risoluzione 40 microsecondi 10 microsecondi

Esempio di programmazione a blocchi funzionali RHS

Esempio di Diagramma ladder RHS

364

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di testo strutturato RHS

Capitolo 16 Istruzioni ingresso/uscita

(* Equivalenza ST: *) TESTOUTPUT2 := RHC() ;
Vedere anche
Istruzioni ingresso/uscita a pagina 355

RPC (lettura checksum del programma)

Legge il checksum del programma dell'utente dal controllore o dal modulo di memoria.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850 e Micro870.

Parametro MemMod ENO RPC

Tipo di parametro Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

TRUE: il valore viene preso dal modulo di memoria.

FALSE: il valore viene preso dal controllore Micro800.

BOOL

Abilita uscita.

Applicabile alle programmazioni in Ladder Diagram.

UDINT

Valore di checksum di un programma specificato dell'utente.

Esempio di programmazione a blocchi funzionali RPC

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

365

Capitolo 16

Istruzioni ingresso/uscita
Esempio di diagramma ladder RPC

Esempio di testo strutturato RPC

DLG (registro dati)

(* Equivalenza ST: *) TESTOUTPUT2 := RPC(TESTINPUT) ;
Vedere anche
Istruzioni ingresso/uscita a pagina 355
Scrive i valori di variabile dal motore di runtime in un file di registrazione dati su una scheda SD. durante la scrittura in un registro dati è consentito un massimo di 50 cartelle di gruppo per giorno. Ogni cartella di gruppo contiene un massimo di 50 file con una dimensione compresa tra 4k e 8k. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro820.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

366

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri Enable

Tipo di parametro Ingresso

Tipo di dati BOOL

TSEnable

Ingresso

BOOL

CfgID

Ingresso

USINT

ENO

Uscita

BOOL

Stato

Uscita

USINT

ErrorID

Uscita

UDINT

Capitolo 16 Istruzioni ingresso/uscita
Descrizione
Abilitazione di scrittura per la registrazione dati. TRUE: abilitazione del fronte di salita rilevata, avvia l'operazione di registrazione dei dati quando le operazioni dell'istruzione precedente sono state completate. FALSE: fronte di salita non rilevato.
TRUE: flag di abilitazione registrazione indicatore data e ora. Numero ID configurazione registrazione dati VA ID da 1 a 10.
Abilita uscita. Applicabile alle programmazioni in Ladder Diagram. Stato corrente dell'istruzione. Codici di stato registrazione dati: · 0: Idle · 1: Doing · 2: Succeed, indica che la registrazione dei dati è stata completata. · 3: Error, indica che la registrazione dei dati è stata completata con errore. Un codice di errore numerico univoco per DLG.

Codice errore 0 1 2 3 4 5 6
7 8 9

Codici di errore DLG

Nome errore DLG_ERR_NONE DLG_ERR_NO_SDCARD

Commenti Nessun errore. Scheda SD assente.

DLG_ERR_RESERVED DLG_ERR_DATAFILE_ACCESS

Riservato. Errore accesso file registrazione dati.

DLG_ERR_CFG_ABSENT DLG_ERR_CFG_ID DLG_ERR_RESOURCE_BUSY
DLG_ERR_CFG_FORMAT DLG_ERR_RTC DLG_ERR_UNKNOWN

Il file di configurazione registrazione dati è assente. L'ID di configurazione nel file di configurazione registrazione dati è assente L'operazione di registrazione dati collegata a questo ID di registrazione dati è utilizzata da un'altra operazione FB. Il formato del file di configurazione registrazione dati non è valido. Real-Time Clock non valido. Si è verificato un errore non specificato.

Esempi di programmazione a blocchi funzionali DLG

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

367

Capitolo 16

Istruzioni ingresso/uscita
Esempio di diagramma ladder DLG

Esempio di testo strutturato DLG

Vedere anche
Istruzioni ingresso/uscita a pagina 355

IIM (ingresso immediato)

Aggiornamento degli input prima della normale scansione in output.
Dettagli operazione:
· Usate di solito all'inizio di un programma di interrupt per selezionare o mascherare gli ingressi che sono immediatamente scansionati per ottenere gli ingressi correnti.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

368

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro Enable
InputType
InputSlot

Tipo di parametro Ingresso

Tipo di dati BOOL

Ingresso

USINT

Ingresso

USINT

Sts

Uscita

USINT

ENO

Uscita

BOOL

Capitolo 16 Istruzioni ingresso/uscita
Descrizione
Abilitazione del blocco istruzione. TRUE: esegue il blocco istruzione. FALSE: non viene eseguito. Identifica il tipo di ingresso. 0 - Ingresso incorporato. 1 - Ingresso plug-in. Identifica lo slot di ingresso. 0: ingresso integrato. 1, 2, 3, 4, 5: numero slot plug-in. (Gli slot sono numerati da sinistra a destra, a partire da numero 1.) Per ingresso incorporato, è sempre 0. Per ingresso plug-in, slot ingresso 1,2,3,4,5,(numero slot plug-in, inizia dal primo slot a sinistra = 1). Stato scansione ingresso immediato. Codici di stato (Sts) IIM: · 0x00: non abilitato (nessuna azione intrapresa). · 0X01: scansione ingresso/uscita riuscita. · 0x02: tipo ingresso/uscita non valido. · 0x03: slot ingresso/uscita non valido. Abilita uscita. TRUE: ingresso aggiornato. FALSE: ingresso non aggiornato. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali IIM

Esempio di diagramma ladder IIM

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

369

Capitolo 16

Istruzioni ingresso/uscita
Esempio di testo strutturato IIM

Risultati

Vedere anche
Istruzioni ingresso/uscita a pagina 355

IOM (uscita istantanea)

Aggiornare le uscite prima della scansione delle uscite normali.
Dettagli operazione:
· Usate di solito alla fine di un programma di interrupt per selezionare o mascherare le uscite che sono immediatamente scansionati e aggiornate.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

370

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16 Istruzioni ingresso/uscita
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870.

Parametro Enable OutputType OutputSlot
Sts
ENO

Tipo di parametro Ingresso Ingresso Ingresso
Uscita
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue l'istruzione.

FALSE: non viene eseguito.

USINT

Identifica il tipo di uscita:

0 - Uscita integrata.

1 - Uscita plug-in.

USINT

Identifica lo slot di uscita:

0: uscita integrata

1, 2, 3, 4, 5: numero slot plug-in. (Gli slot sono numerati da sinistra a destra, a partire da numero 1.)

Per uscita integrata, è sempre 0.

Per uscita plug-in, slot uscita 1,2,3,4,5 (numero slot plug-in, inizia dal primo slot a sinistra = 1).

USINT

Stato scansione uscita immediato.

Codici di stato (sts) IOM:

· 0x00: non abilitato (nessuna azione intrapresa).

· 0X01: scansione ingresso/uscita riuscita.

· 0x02: tipo ingresso/uscita non valido.

· 0x03: slot ingresso/uscita non valido.

BOOL

Abilita uscita.

TRUE: uscita aggiornata.

FALSE: uscita non aggiornata.

Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali IOM

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

371

Capitolo 16

Istruzioni ingresso/uscita
Esempio di diagramma ladder IOM

Esempio di testo strutturato IOM

Risultati

Vedere anche
Istruzioni ingresso/uscita a pagina 355

KEY_READ (lettura tasti su LCD)

Legge lo stato della chiave su un modulo LCD opzionale quando il display dell'utente è attivo.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

372

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16 Istruzioni ingresso/uscita
Questa istruzione si applica ai controllori Micro810.

Parametri Enable
CKYL EKYL CKY EKY UKY DKY LKY RKY

Tipo di parametro Ingresso
Uscita Uscita Uscita Uscita Uscita Uscita Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilita il blocco istruzione.

TRUE: abilita i tasti di lettura sulla tastiera LCD remoto.

FALSE: disabilitai tasti di lettura sulla tastiera LCD remoto.

BOOL

TRUE: tasto ESC premuto per più di 2 secondi.

BOOL

TRUE: tasto OK premuto per più di 2 secondi.

BOOL

TRUE: tasto ESC premuto.

BOOL

TRUE: tasto OK premuto.

BOOL

TRUE: tasto Su premuto.

BOOL

TRUE: tasto Giù premuto.

BOOL

TRUE: tasto Sinistra premuto.

BOOL

TRUE: tasto Destra premuto.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

373

Capitolo 16

Istruzioni ingresso/uscita
Esempio di programmazione a blocchi funzionali KEY_READ

Esempio di diagramma ladder KEY_READ

374

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16
Esempio di testo strutturato KEY_READ

Istruzioni ingresso/uscita

(* Equivalenza ST: *)
KEY_READ_1(KEYENABLE) ; KEY_EKYL := KEY_READ_1.EKYL ; KEY_CKY := KEY_READ_1.CKY ; KEY_EKY := KEY_READ_1.EKY ; KEY_UKY := KEY_READ_1.UKY ; KEY_DKY := KEY_READ_1.DKY ; KEY_RKY := KEY_READ_1.RKY ; KEY_LKY := KEY_READ_1.LKY ;
Vedere anche
Istruzioni ingresso/uscita a pagina 355 LCD a pagina 356

KEY_READ_REM (lettura chiavi per LCD remoto)

Legge lo stato della chiave su un modulo LCD remoto opzionale quando il display dell'utente è attivo.
Dettagli operazione:
· Utilizzare l'istruzione LCD_REM per attivare il display dell'utente sul modulo LCD remoto. Se il display dell'utente non è attivo, si verifica un errore durante l'esecuzione di KEY_READ_REM.
· La proprietà del TASTO P nel file delle funzioni 'LCD devono essere attivate; altrimenti, tutti gli stati della chiave saranno FALSE.
· Sono supportate solo pressioni di tasti singoli per l'istruzione KEY_READ_REAM; le combinazioni di due tasti non sono supportate.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

375

Capitolo 16

Istruzioni ingresso/uscita
Questa istruzione vale per i controllori Micro820.

Parametri Enable KEY_READ_REM Sts
KeyData

Tipo di parametro Ingresso Uscita Uscita
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: abilita

FALSE: disabilita

BOOL

TRUE: dati chiave LCD remoto letti con successo.

FALSE: l'abilitazione è false, è presente un errore di lettura. Dati chiave LCD remoto o display utente non attivi.

UINT

Stato dell'operazione KEY_READ_REM .

Codici di stato KEY_READ_REM:

· 0: ingresso abilitazione è False.

· 1: dati chiave letti correttamente.

· 2: LCD remoto non rilevato.

Potrebbe verificarsi quando:

· L'LCD remoto non è connesso fisicamente al controllore (o il cablaggio non è corretto).

· Le impostazioni della porta seriale sono diverse rispetto a quelle richieste per l'LCD remoto.

· 3: errore di connessione.

Potrebbe verificarsi quando è presente un errore interno alla macchina a stati. Probabilmente causato da un'incompatibilità tra la versione FW del controllore e la versione FW RLCD.

· 4: display utente non attivo.

· 5-65535: riservato.

UDINT

Dati del tastierino LCD remoto.

Le definizioni KeyData sono specificate nella tabella dei campi di bit KeyData.

Tabella dei campi di bit KeyData

Utilizzare questa tabella per determinare i campi di bit per KEY_READ_REM.

N. bit in KeyData Nome

Descrizione parametro

0

UKY

TRUE = tasto su premuto.

1

DKY

TRUE = tasto giù premuto.

2

LKY

TRUE = tasto sinistra premuto.

3

RKY

TRUE = tasto destra premuto.

4

F1KY

TRUE = tasto F1 premuto.

5

F2KY

TRUE = tasto F2 premuto.

6

F3KY

TRUE = tasto F3 premuto.

7

F4KY

TRUE = tasto F4 premuto.

8

F5KY

TRUE = tasto F5 premuto.

9

F6KY

TRUE = tasto F6 premuto.

376

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

N. bit in KeyData
10 11 12 13 14-31

Nome
EKY CKY EKYL CKYL --

Descrizione parametro

Capitolo 16

Istruzioni ingresso/uscita

TRUE = tasto INVIO premuto. TRUE = tasto CANC premuto. TRUE = tasto INVIO premuto per più di 2 secondi. TRUE = tasto CANC premuto per più di 2 secondi. Riservato.

Esempio di programmazione a blocchi funzionali KEY_READ_REM

Esempio di diagramma ladder KEY_READ_REM

Esempio di testo strutturato KEY_READ_REM

MM_INFO (informazioni sul modulo di memoria)

Vedere anche
Istruzioni ingresso/uscita a pagina 355
Legge le informazioni dell'intestazione del modulo di memoria. Se non è presente un modulo di memoria, tutti i valori restituiscono zero (0).
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

377

Capitolo 16

Istruzioni ingresso/uscita

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Parametro Enable
MMInfo ENO

Tipo di parametro Ingresso
Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL MMINFO

Abilitazione del blocco istruzione. TRUE: legge le informazioni sull'intestazione del modulo di memoria. FALSE: non c'è nessuna operazione di lettura e l'informazione sul modulo di memoria dell'uscita non è valida. Le informazioni sul modulo di memoria sono definite nel tipo di dati MMINFO.

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di Programmazione a blocchi funzionali MSG_INFO

Esempio di Diagramma ladder MSG_INFO

Esempio di Testo strutturato MSG_INFO

378

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 16 Istruzioni ingresso/uscita

Per i controllori che utilizzano 2080-MEMBAK-RTC:

Per i controllori che utilizzano una scheda SD:

Vedere anche
Tipo di dati MMINFO a pagina 380 Istruzioni ingresso/uscita a pagina 355

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

379

Capitolo 16 Istruzioni ingresso/uscita
Tipo di dati MMINFO

Nella tabella seguente sono descritti i parametri del tipo di dati MMINFO.

Parametro

Tipo di dati

Descrizione

MMCatalog
Serie Revisione UPValid
ModeBehavior LoadAlways LoadOnError FaultOverride MMPresent

MMCATNUM
UINT UINT BOOL
BOOL BOOL BOOL BOOL BOOL

Il codice del modulo di memoria. quando si utilizza l'istruzione MM_INFO su controllori con scheda SD, MMCatalog corrisponde a "SCHEDA SD". La serie del modulo di memoria. Quando si utilizza l'istruzione MM_INFO su controllori con scheda SD, la serie è 1. La revisione del modulo di memoria. Quando si utilizza MM_INFO su controllori con scheda SD, la revisione è 257. Programma utente presente (TRUE: trovato progetto potenzialmente valido). Nota: anche se TRUE, se in fase di download o ripristino risultano file mancanti o danneggiati, è comunque possibile che il progetto venga rilevato come non valido. Modalità di comportamento (TRUE: va a RUN all'accensione).
Ripristina sempre il modulo di memoria al controllore all'accensione. Ripristina sempre il modulo di memoria al controllore in caso di errore all'accensione. Errore di sostituzione all'accensione.
Il modulo di memoria è presente.

Vedere anche
MM_INFO a pagina 377

MODULE_INFO

Legge le informazioni di modulo da un modulo plug-in o di espansione.
Dettagli operazione:
· Le informazioni sul modulo plug-in vengono lette durante la fase di esecuzione.
· Il modulo plug-in di memoria 2080-MEMBAK-RTC non è supportato.
· Le informazioni del Modulo di espansione vengono lette quando il modulo è alimentato.
· Quando un modulo plug-in o di espansione non viene definito con un ModuleID, ProductType o ProductCode, l'operazione di MODULE_INFO restituisce 0 per il parametro di uscita interessato.
· Le informazioni di identificazione modulo plug-in e di espansione sono definite da Allen-Bradley e vengono fornite sotto come parte della descrizione di MODULE_INFO.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

380

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16 Istruzioni ingresso/uscita
Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870. I moduli di espansione sono supportati solo dai controllori Micro850 e Micro870.

Parametro

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.
Tipo di dati Descrizione

Enable

Ingresso

ModuleType

Ingresso

SlotID

Ingresso

Done Presente

Uscita Uscita

ModID

Uscita

VendorID

Uscita

Tipo prodotto: Codice Prodotto ModRevision Errore

Uscita Uscita Uscita Uscita

ErrorID

Uscita

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue l'operazione di lettura MODULE_INFO.

FALSE: non esegue l'operazione di lettura. Tutti i valori dei dati di uscita sono ripristinati a 0.

USINT

Identifica il tipo di modulo:

· 1: modulo di espansione 2085.

· 2: modulo plug-in 2080.

USINT

Il numero degli slot dove si trovano i moduli plug-in o di espansione.

Gli ID slot sono: 1, 2, 3, 4, 5

Lo slot 1 è all'estrema sinistra.

BOOL

TRUE: operazione completata correttamente.

FALSE: l'operazione non è in esecuzione o si è verificato una condizione di errore.

BOOL

Rileva il modulo plug-in o di espansione nello slot del controllore.

TRUE: il modulo è fisicamente presente.

FALSE: il modulo non è fisicamente presente.

UINT

Identificazione per il modulo nello slot del controllore.

· I moduli plug-in sono definiti con un identificatore modulo univoco.

· I moduli di espansione non sono definiti con un identificatore modulo univoco, ModID restituisce 0.

UINT

ID fornitore del modulo plug-in o di espansione.

Per i prodotti Allen-Bradley, l'ID fornitore è 1.

UINT

Tipo prodotto del modulo plug-in o di espansione.

UINT

Codice prodotto del modulo plug-in o di espansione.

UINT

Informazioni sulla revisione del modulo plug-in o di espansione.

BOOL

Indica la presenza di una condizione di errore.

TRUE - È stato rilevato un errore.

FALSE - Nessun errore.

USINT

Numero univoco che identifica l'errore. Gli errori sono definiti nei codici di errore MODULE_INFO.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

381

Capitolo 16

Istruzioni ingresso/uscita
Codici di errore MODULE_INFO

Utilizzare questa tabella per determinare i codici di errore MODULE_INFO e le descrizioni.

Codice errore

Descrizione errore

1

Tipo di modulo non valido.

Sostituire con un tipo di modulo valido.

I tipi di modulo validi sono:

· 1: modulo di espansione 2085. Supportato solo dai controllori Micro850.

· 2: modulo plug-in 2080. Supportato dai controllori Micro820, Micro830 e Micro850.

2

Numero slot non valido.

Sostituire con un numero slot valido.

3

Tipo di modulo di espansione non valido.

4

Errore irreversibile del modulo di espansione.

5

Le informazioni sulla lettura del modulo plug-in non sono supportate.

6

Si è verificato un errore nella lettura del modulo plug-in durante la lettura dell'ID modulo.

7

Si è verificato un errore nella lettura del modulo plug-in durante la lettura dell'ID fornitore.

8

Errore nella lettura del modulo plug-in durante la lettura del Tipo prodotto.

9

Si è verificato un errore nella lettura del modulo plug-in durante la lettura del Codice prodotto.

10

Si è verificato un errore nella lettura del modulo plug-in durante la lettura della Revisione modulo.

Esempio di Programmazione a blocchi funzionali MODULE_INFO

382

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16
Esempio di Diagramma ladder MODULE_INFO

Istruzioni ingresso/uscita

Esempio di Testo strutturato MODULE_INFO

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

383

Capitolo 16

Istruzioni ingresso/uscita
Risultati

Vedere anche
Istruzioni ingresso/uscita a pagina 355
Diagrammi di temporizzazione dell'istruzione MODULE_INFO a pagina 386
MODULE_INFO - Informazioni sui moduli plug-in e di espansione a pagina 384

MODULE_INFO - Informazioni

Le seguenti informazioni forniscono il tipo, l'ID modulo, l'ID fornitore e i Codici prodotto per i moduli plug-in e di espansione, oltre alle

sui moduli plug-in e di

descrizioni delle parole per la revisione dei moduli di espansione

espansione

definite da Allen-Bradley.

Informazioni sul modulo a innesto

Utilizzare questa tabella per determinare le informazioni sul modulo plug-in definite da Allen-Bradley.

Modulo Plug-in
2080-IF2 2080-IF4 2080-OF2 2080-TC2
2080-RTD2 2080-DNET20 2080-SERIALISOL 2080-IQ4 2080-OB4

Tipo plug-in
Analogico Analogico Analogico Analogico
Analogico Comunicazione Comunicazione Digitale Digitale

ID modulo
96 98 100 102
104 34 32 192 193

ID fornitore
1 1 1 1
1 1 1 1 1

Tipo prodotto
10 10 10 10
10 12 7 7

Codice prodotto
32 33 34 35
36 249 192 193

384

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

2080-OV4 2080-IQ4OB4 2080-IQ4OV4 2080-OW4I
2080-MOT-HSC 2080-TRIMPOT6

Digitale Digitale Digitale Digitale
Speciale Speciale

Capitolo 16 Istruzioni ingresso/uscita

194

1

7

194

195

1

7

195

196

1

7

196

197

1

7

197

48

1

43

48

72

1

-

-

Codice modello
2085-IF4 2085-IF8 2085-IRT4 2085-OF4 2085-IA8 2085-IM8
2085-IQ16 2085-IQ32T 2085-OA8 2085-OB16 2085-OV16 2085-OW16
2085-OW8

Informazioni sul modulo di espansione

Utilizzare questa tabella per determinare le informazioni sul modulo di espansione definite da Allen-Bradley.

Tipo di espansione ID modulo ID fornitore Tipo prodotto

Codice prodotto

Analogico

-

1

10

208

Analogico

-

1

10

206

Analogico

-

1

10

213

Analogico

-

1

10

214

Digitale

-

1

7

1148

Digitale

-

1

7

1152

Digitale

-

1

7

1144

Digitale

-

1

7

1145

Digitale

-

1

7

1149

Digitale

-

1

7

1146

Digitale

-

1

7

1147

Digitale

-

1

7

1151

Digitale

-

1

7

1150

Descrizioni delle parole per la revisione del modulo di espansione
Utilizzare questa tabella per determinare le informazioni sulle parole per la revisione dei moduli di espansione Allen-Bradley.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

385

Capitolo 16

Istruzioni ingresso/uscita

Bit

Nome

Descrizione

15 Baud rate massimo (1:0) I bit identificano la frequenza massima per il Baud Rate massimo (1:0).

14

· 00 (bin) è 2 MB/s

· 01 (bin) è 4 MB/s

· 10 (bin) è 8 MB/s

· 11 (bin) è 16 MB/s

13 Revisione secondaria (3:0) La Revisione secondaria (3:0) è la denominazione della revisione secondaria del prodotto. Questo campo

12

indica la revisione minore del numero del catalogo designato da ID fornitore, Tipo prodotto, Codice

11

prodotto, Serie e Revisione principale.

10

La Revisione secondaria è compresa tra 0 e 15.

9 Revisione principale (4:0) La Revisione principale (4:0) è la denominazione della revisione principale del prodotto. Questo campo

8

indica la revisione principale del numero del catalogo designato da ID fornitore, Tipo prodotto, Codice

7

prodotto e Serie.

6

La Revisione principale è compresa tra 0 e 31.

5

4 Serie (4:0)

SERIE (4:0) è la denominazione delle serie del prodotto. Questo campo indica la lettera di serie del numero del catalogo designato da ID fornitore, Tipo prodotto e Codice prodotto.

Serie Serie Serie Serie Serie Serie Serie Serie

(4:0)

(4:0)

(4:0)

(4:0)

0

A

8

I

16

Q

24

Y

1

B

9

J

17

R

25

Z

2

C

10

K

18

S

26

AA

3

D

11

L

19

T

27

AB

4

E

12

M

20

U

28

AC

5

F

13

N

21

V

29

AD

6

G

14

O

22

W

30

AE

7

H

15

P

23

X

31

>AE

Vedere anche
MODULE_INFO a pagina 380

Diagrammi di temporizzazione

Gli esempi di diagramma di temporizzazione seguenti descrivono scenari di esecuzione per l'istruzione MODULE_INFO.

dell'istruzione MODULE_INFO

386

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16 Istruzioni ingresso/uscita
Completamento dell'esecuzione quando un modulo è fisicamente presente

Utilizzare questa tabella per determinare i valori del parametro MODULE_INFO per ogni ciclo di scansione.

Ciclo di scansione Descrizione

1, 8
2, 3, 4 5. 9 6, 7, 10, 11

La condizione ramo diventa TRUE quando: · Il bit di ingresso Abilita è TRUE. · ModuleType e SlotID sono validi. Un modulo fisico è presente. · I bit di uscita Completato e Presente sono TRUE. · Il bit di uscita Errore è FALSE. · Aggiornare di conseguenza le informazioni sul modulo per ID modulo, ID fornitore, Tipo prodotto, codice
prodotto e Revisione modulo. Nessuna modifica nella condizione ramo.
La condizione Ramo diventa FALSE quando il bit Abilita è FALSE. Tutti i parametri di uscita vengono cancellati. Nessuna modifica nella condizione ramo. Il bit Abilita è FALSE. Tutti i parametri di uscita vengono cancellati.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

387

Capitolo 16

Istruzioni ingresso/uscita

Completamento dell'esecuzione quando il modulo non è fisicamente presente

Utilizzare questa tabella per determinare i valori del parametro MODULE_INFO per ogni ciclo di scansione.
Ciclo di scansione Descrizione

1, 8
2, 3, 4 5. 9 6, 7, 10, 11

La condizione ramo diventa TRUE quando: · Il bit di ingresso Abilita è TRUE. · ModuleType e SlotID sono validi. Non è presente un modulo fisico. · Il bit di uscita Completato è TRUE. · I bit di uscita Errore e Presente sono FALSE. · Aggiornare di conseguenza le informazioni sul modulo per ID modulo, ID fornitore, Tipo prodotto, codice
prodotto e Revisione modulo. Nessuna modifica nella condizione ramo. · Il bit di ingresso Abilita è TRUE. · I parametri di ingresso sono validi e non è presente un modulo fisico. · Aggiornare di conseguenza i parametri di uscita. La condizione ramo diventa FALSE quando: · Il bit Abilita è FALSE. · Tutti i parametri di uscita vengono cancellati. Nessuna modifica nella condizione ramo. Il bit Abilita è FALSE. Tutti i parametri di uscita vengono cancellati.

388

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16
Esecuzione di MODULE_INFO con errore

Istruzioni ingresso/uscita

Utilizzare questa tabella per determinare i valori del parametro MODULE_INFO per ogni ciclo di scansione.
Ciclo di scansione Descrizione

1, 8
2, 3, 4 5. 9 6, 7, 10, 11

La condizione ramo diventa TRUE quando: · Il bit di ingresso Abilita è TRUE. · ModuleType e SlotID sono validi. Non è presente un modulo fisico. · I bit di uscita Completato e Presente sono TRUE. · Il bit di uscita Errore è TRUE. · Le informazioni sul modulo per ID modulo, ID fornitore, Tipo prodotto, codice prodotto e Revisione modulo
sono deselezionate. Nessuna modifica nella condizione ramo. · Il bit di ingresso Abilita è TRUE. · ModuleType, SlotID o entrambi non sono validi. · Aggiornare di conseguenza i parametri di uscita. La condizione ramo diventa FALSE quando: · Il bit Abilita è FALSE. · Tutti i parametri di uscita vengono cancellati. Nessuna modifica nella condizione ramo. Il bit Abilita è FALSE. Tutti i parametri di uscita vengono cancellati.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

389

Capitolo 16

Istruzioni ingresso/uscita

Completamento dell'esecuzione di MODULE_INFO con errore: nessun modulo fisico

Utilizzare questa tabella per determinare i valori del parametro MODULE_INFO per ogni ciclo di scansione.
Ciclo di scansione Descrizione

1, 8
2 3, 4
5. 9 6, 7, 10, 11

La condizione ramo diventa TRUE quando: · Il bit di ingresso Abilita è TRUE. · ModuleType o SlotID o entrambi non sono validi. Non è presente un modulo fisico. · I bit di uscita Completato e Presente sono FALSE. · Il bit di uscita Errore è TRUE. · Le informazioni sul modulo per ID modulo, ID fornitore, Tipo prodotto, codice prodotto e Revisione modulo
sono deselezionate. Nessuna modifica nella condizione ramo. · Il bit di ingresso Abilita è TRUE. · ModuleType o SlotID o entrambi non sono validi. · Aggiornare di conseguenza i parametri di uscita. Nessuna modifica nella condizione ramo. · Il bit di ingresso Abilita è TRUE. · ModuleType e SlotID sono entrambi validi. Il modulo è fisicamente presente. · I bit di uscita Completato e Presente sono TRUE. · Il bit di uscita Errore è FALSE. · Aggiornare di conseguenza le informazioni sul modulo per ID modulo, ID fornitore, Tipo prodotto, codice
prodotto e Revisione modulo. La condizione ramo diventa FALSE quando: · Il bit Abilita è FALSE. · Tutti i parametri di uscita vengono cancellati. Nessuna modifica nella condizione ramo. Il bit Abilita è FALSE. Tutti i parametri di uscita vengono cancellati.

390

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16 Istruzioni ingresso/uscita
Completamento dell'esecuzione di MODULE_INFO con errore quando è presente un modulo fisico

Utilizzare questa tabella per determinare i valori del parametro MODULE_INFO per ogni ciclo di scansione.
Ciclo di scansione Descrizione

1, 8
2 3, 4
5. 9 6, 7, 10, 11

La condizione ramo diventa TRUE quando: · Il bit di ingresso Abilita è TRUE. · ModuleType o SlotID o entrambi sono validi. Il modulo è fisicamente presente. · I bit di uscita Completato e Presente sono TRUE. · Il bit di uscita Errore è FALSE. · Aggiornare di conseguenza le informazioni sul modulo per ID modulo, ID fornitore, Tipo prodotto, codice
prodotto e Revisione modulo. Nessuna modifica nella condizione ramo. · Il bit di ingresso Abilita è TRUE. · I parametri di ingresso del modulo sono validi e il modulo è fisicamente presente. · Aggiornare di conseguenza i parametri di uscita. Nessuna modifica nella condizione ramo. · Il bit di ingresso Abilita è TRUE. · ModuleType e SlotID sono entrambi non validi. Il modulo è fisicamente presente. · I bit di uscita Completato e Presente sono FALSE. · Il bit di uscita Errore è TRUE e deselezionato. · Aggiornare di conseguenza le informazioni sul modulo per ID modulo, ID fornitore, Tipo prodotto, codice
prodotto e Revisione modulo. La condizione ramo diventa FALSE quando: · Il bit Abilita è FALSE. · Tutti i parametri di uscita vengono cancellati. Nessuna modifica nella condizione ramo. Il bit Abilita è FALSE. Tutti i parametri di uscita vengono cancellati.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

391

Capitolo 16

Istruzioni ingresso/uscita

Vedere anche
Istruzioni ingresso/uscita a pagina 355 MODULE_INFO a pagina 380

PLUGIN_INFO (informazioni sui plug-in)

Leggere le informazioni del modulo da un modulo plug-in generico o di espansione.
Dettagli operazione:
· In Connected Components Workbench 10 o versione successive, l'istruzione PLUGIN_INFO consente di leggere qualsiasi informazione del modulo plug-in generico o di espansione, ad eccezione del modulo 2080-MEMBAK-RTC.
· Se non è presente un modulo plug-in generico o di espansione, tutti i valori sono reimpostati su zero (0).
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870.

Parametro Enable SlotID
ModID 392

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.
Tipo di parametro Tipo di dati Descrizione

Ingresso Ingresso Uscita

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue la lettura delle informazioni sui moduli plug-in o di espansione.

FALSE: il blocco istruzione non viene eseguito. Tutti i valori dei dati di uscita sono ripristinati a

0.

UINT

Numero di slot del plug-in:

ID slot = 1,2,3,4,5

(Inizia dal primo Slot a sinistra = 1).

Numero di slot di espansione:

ID slot = 101, 102, 103, 104

(Inizia dal primo Slot a sinistra = 101).

UINT

ID fisico del modulo generico plug-in.

· Se il modulo di espansione non è supportato ModID = 0xFFF

· Se un modulo plug-in o di espansione non è presente ModID = 0x0000

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

VendorID

Uscita

Tipo prodotto: Codice Prodotto ModRevision ENO

Uscita Uscita Uscita Uscita

Capitolo 16 Istruzioni ingresso/uscita

UINT

L'ID fornitore del modulo plug-in o di espansione generico.

Per i prodotti Allen Bradley, ID fornitore = 1.

Se un modulo plug-in o di espansione non è presente VendorID = 0x0000

UINT

Tipo di prodotto del modulo plug-in o di espansione generico.

Se un modulo plug-in o di espansione non è presente ProductType = 0x0000

UINT

Codice prodotto del modulo plug-in o di espansione generico.

Se un modulo plug-in o di espansione non è presente ProductCode = 0x0000

UINT

Informazioni sulla revisione del modulo plug-in generico o di espansione.

Se un modulo plug-in o di espansione non è presente ModRevision = 0x0000

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram. Diagramma ladder aggiunge

automaticamente l'uscita ENO.

Esempio di Programmazione a blocchi funzionali PLUGIN_INFO

Esempio di Diagramma ladder PLUGIN_INFO

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

393

Capitolo 16

Istruzioni ingresso/uscita
Esempio di testo strutturato PLUGIN_INFO

Risultati

Vedere anche
Istruzioni ingresso/uscita a pagina 355

PLUGIN_READ (lettura plugin)

Legge i dati da un modulo plug-in generico.
Dettagli operazione:
· Qualsiasi modulo plug-in, eccetto i moduli 2080-MEMBAK-RTC. · Quando non è presente un modulo plug-in generico, tutti i valori
tornano a zero (0).
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

394

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16 Istruzioni ingresso/uscita
Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870.

Parametro Enable SlotID Offset DataLength DataArray Sts
ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati Descrizione

Ingresso Ingresso Ingresso Ingresso Ingresso Uscita
Uscita

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue la lettura UPM.

FALSE: nessuna lettura e i dati all'interno del vettore dati non sono validi.

UINT

Numero dello slot plug-in.

ID slot = 1,2,3,4,5 (iniziando dal primo slot a sinistra = 1).

UINT

Offset indirizzo dei primi dati da leggere, calcolando dal primo byte del modulo generico

plug-in.

UINT

Il numero di byte da leggere.

USINT

Un array usato per archiviare i dati letti dal modulo a innesto generico.

UINT

Codici di stato per PLUGIN_READ.

Codici di stato (Sts):

· 0x00 - Blocco funzione non abilitato (nessuna operazione).

· 0x01 - Operazione plug-in riuscita.

· 0x02 - Operazione plug-in non riuscita a causa di un ID slot non valido.

· 0x03 - Operazione plug-in non riuscita perché non si tratta di un modulo plug-in generico valido.

· 0x04 : - operazione plug-in non riuscita a causa di dati utilizzati fuori intervallo.

· 0x05 - Operazione plug-in non riuscita a causa di un errore di parità in accesso dati.

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

395

Capitolo 16

Istruzioni ingresso/uscita
Esempio di Programmazione a blocchi funzionali PLUGIN_READ

Esempio di Diagramma ladder PLUGIN_READ

Esempio di Testo strutturato PLUGIN_READ

Vedere anche
Istruzioni ingresso/uscita a pagina 355

396

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

PLUGIN_RESET (reset plugin)

Capitolo 16 Istruzioni ingresso/uscita
Ripristina qualsiasi hardware di modulo plug-in generico, ad eccezione dei moduli 2080-MEMBAK-RTC. Dopo il reset dell'hardware, il modulo plug-in generico è pronto per la configurazione e il funzionamento.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870.

Parametro Enable SlotID Sts
ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Ingresso

UINT

Abilitazione del blocco istruzione. TRUE: esegue il ripristino plug-in. FALSE: nessuna operazione di ripristino. Numero dello slot plug-in. ID slot = 1,2,3,4,5 (iniziando dal primo slot a sinistra = 1).

Uscita

UINT

Uscita

BOOL

Codici di stato PLUGIN_RESET. Codici di stato (Sts): · 0x00 - Blocco funzione non abilitato (nessuna operazione). · 0x01 - Operazione plug-in riuscita. · 0x02 - Operazione plug-in non riuscita a causa di un ID slot non valido. · 0x03 - Operazione plug-in non riuscita perché non si tratta di un
modulo plug-in generico valido. La configurazione del modulo -2080-MOT-HSC è in modalità Istruzioni High Speed Counter. · 0x04 : - operazione plug-in non riuscita a causa di dati utilizzati fuori intervallo. · 0x05 - Operazione plug-in non riuscita a causa di un errore di parità in accesso dati.
Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di Programmazione a blocchi funzionali PLUGIN_RESET

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

397

Capitolo 16

Istruzioni ingresso/uscita
Esempio di Diagramma ladder PLUGIN_RESET

Esempio di Testo strutturato PLUGIN_RESET

Risultati

Vedere anche
Istruzioni ingresso/uscita a pagina 355

PLUGIN_WRITE (plug-in di scrittura)

Scrive un blocco di dati su qualsiasi hardware di modulo plug-in generico, ad eccezione dei moduli 2080-MEMBAK-RTC.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

398

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16 Istruzioni ingresso/uscita
Questa istruzione vale per i controllori Micro820, Micro830, Micro850 e Micro870.

Parametro Enable SlotID AddrOffset DataLength DataArray Sts
ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Ingresso

UINT

Ingresso

UINT

Ingresso

UINT

Ingresso

USINT

Uscita

UINT

Uscita

BOOL

Abilitazione del blocco istruzione. TRUE: esegue il plug-in di scrittura. FALSE: nessuna operazione di scrittura dati. Numero dello slot plug-in. ID slot = 1,2,3,4,5 (iniziando dal primo slot a sinistra = 1). Offset indirizzo dei primi dati da scrivere, calcolando dal primo byte del modulo generico plug-in. Il numero di byte da scrivere. Dati da scrivere nel modulo generico plug-in. Codici di stato PLUGIN_WRITE. Codici di stato (Sts): · 0x00 - Blocco funzione non abilitato (nessuna operazione). · 0x01 - Operazione plug-in riuscita. · 0x02 - Operazione plug-in non riuscita a causa di un ID slot non valido. · 0x03 - Operazione plug-in non riuscita perché non si tratta di un modulo plug-in
generico valido. · 0x04 : - operazione plug-in non riuscita a causa di dati utilizzati fuori intervallo. · 0x05 - Operazione plug-in non riuscita a causa di un errore di parità in accesso
dati. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

399

Capitolo 16

Istruzioni ingresso/uscita
Esempio di Programmazione a blocchi funzionali PLUGIN_WRITE

Esempio di Diagramma ladder PLUGIN_WRITE

Esempio di Testo strutturato PLUGIN_WRITE

RCP (ricetta)
400

Vedere anche
Istruzioni ingresso/uscita a pagina 355
Legge i valori dei dati di una variabile dal file di dati ricetta che si trova nella cartella file di dati ricetta nella scheda SD e aggiorna il valore sul
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16 Istruzioni ingresso/uscita
motore di runtime. Scrive il valore della variabile con il motore di runtime in un file di dati ricetta nella scheda SD.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820.

Parametri Enable
RWFlag
CfgID FileName Stato
ErrorID

Tipo di parametro Ingresso
Ingresso
Ingresso Ingresso Uscita
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
BOOL USINT STRING USINT
UDINT

Abilitare il blocco istruzione di lettura/scrittura della ricetta. TRUE: fronte di salita rilevato, esegue l'istruzione ricetta, se la precedente operazione è stata completata. FALSE: fronte di salita non rilevato, non esegue l'istruzione ricetta. TRUE: RWFlag (operazione di scrittura). La ricetta scrive i valori della variabile con il motore di runtime all'interno di un file di dati ricetta nella scheda SD. FALSE: RWFlag (operazione di lettura). La ricetta legge i valori della variabile dalla scheda SD e aggiorna il corrispondente valore della variabile sul motore di runtime. Numero configurazione della ricetta ID VA 1-10.
Nome file di dati ricetta (lunghezza massima 30 caratteri).
Stato corrente del blocco istruzione Ricetta. Codici di stato RCP: · 0 Idle · 1 Doing · 2 Succeed, completato senza errori. · 3 Error, completato senza errori. Codice di errore RCP numerico. Le definizioni sono definite nei codici di errore RCP.

Codici di errore RCP

Codice errore 0 1 2 3
4 5 6 7

Nome errore RCP_ERR_NONE RCP_ERR_NO_SDCARD RCP_ERR_DATAFILE_FULL RCP_ERR_DATAFILE_ACCESS Una scheda SD viene identificata come: · Interrotta. · Piena. · Sola lettura. RCP_ERR_CFG_ABSENT RCP_ERR_CFG_ID RCP_ERR_RESOURCE_BUSY RCP_ERR_CFG_FORMAT

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

401

Capitolo 16

Istruzioni ingresso/uscita

Codice errore 8
9 10 11 12 13 14

Nome errore RCP_ERR_RESERVED Riservata per una possibile espansione futura. RCP_ERR_UNKNOWN RCP_ERR_DATAFILE_NAME RCP_ERR_DATAFOLDER_INVALID RCP_ERR_DATAFILE_ABSENT RCP_ERR_DATAFILE_FORMAT RCP_ERR_DATAFILE_SIZE La dimensione del file di dati ricetta è troppo grande (>4 kb).

Esempio di programmazione a blocchi funzionali RCP

Esempio di diagramma ladder RCP

Esempio di testo strutturato RCP

402

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Vedere anche

Capitolo 16

Istruzioni ingresso/uscita a pagina 355

Istruzioni ingresso/uscita

RTC_READ (lettura RealTime Clock)

Legge le informazioni sul modulo real-time clock (RTC).
Dettagli operazione:
· Controllori Micro810 o Micro820 con RTC integrato: · RTCBatLow è sempre impostato su zero (0). · RTCEnabled è sempre impostato su (1).
· Quando l'RTC integrato perde la carica/memoria a causa di una interruzione dell'alimentazione: · RTCData è impostato su 2000/1/1/0/0/0. · RTCEnabled è impostato su (1).
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Parametro Enable
RTCData RTCPresent RTCEnabled RTCBatLow ENO

Tipo di parametro Ingresso
Uscita Uscita Uscita Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue la lettura delle informazioni RTC.

FALSE: non c'è nessuna operazione di lettura e i dati in uscita RTC non sono validi.

RTC

Informazioni sui dati RTC: aa/mm/gg, hh/mm/ss, settimana.

L'uscita RTCData è definita con il tipo di dati RTC.

BOOL

TRUE: Free Running clock in uso oppure hardware RTC collegato.

FALSE: Free Running clock non in uso oppure hardware RTC non collegato.

BOOL

TRUE: Free Running clock in uso oppure hardware RTC abilitato (temporizzazione).

FALSE: Free Running clock non in uso, hardware RTC disabilitato (nessuna temporizzazione).

BOOL

TRUE - livello batteria RTC basso.

FALSE - livello batteria RTC non è basso.

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

403

Capitolo 16

Istruzioni ingresso/uscita
Parametri Year
Month Day Hour Minute Second DayOfWeek

Tipo di dati RTC

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati RTC.

Tipo di dati UINT
UINT UINT UINT UINT UINT UINT

Descrizione
L'impostazione anno per RTC. Valore a 16 bit, intervallo valido da 2000 (01 gen, 00:00:00) a 2098 (31 dic, 23:59:59)
L'impostazione mese per RTC.
L'impostazione giorno per RTC. L'impostazione ora per RTC. L'impostazione minuto per RTC. L'impostazione secondi per RTC. L'impostazione giorno della settimana per RTC. Questo parametro è ignorato per RTC_SET.

Esempio di Programmazione a blocchi funzionali RTC_READ

Esempio di Diagramma ladder RTC_READ

404

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16
Esempio di Testo strutturato RTC_READ

Istruzioni ingresso/uscita

Vedere anche
Istruzioni ingresso/uscita a pagina 355

RTC_SET (impostare RealTime Clock)

Impostare i dati RTC (Real-Time Clock) sulle informazioni del modulo RTC.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Parametro Enable
RTCEnable RTCData RTCPresent

Tipo di parametro Ingresso
Ingresso Ingresso Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue RTC_SET con le informazioni su RTC dall'ingresso. Eseguito in genere per 1 scansione del programma durante l'aggiornamento di RTC.

FALSE - non esegue RTC_SET. Impostare su FALSE per utilizzare RTC normalmente.

BOOL

TRUE - Per abilitare RTC i dati RTC specificati.

FALSE - Per disabilitare RTC.

RTC

Informazioni sui dati RTC: aa/mm/gg, hh/mm/ss, settimana definita nel tipo di dati RTC.

RTCData è ignorato quando RTCEnable = 0.

BOOL

TRUE: Free Running clock in uso oppure hardware RTC collegato.

FALSE: Free Running clock non in uso oppure hardware RTC non collegato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

405

Capitolo 16 Istruzioni ingresso/uscita

RTCEnabled

Uscita

BOOL

RTCBatLow

Uscita

BOOL

Sts

Uscita

USINT

TRUE: Free Running clock in uso oppure hardware RTC abilitato (temporizzazione). FALSE: Free Running clock non in uso oppure hardware RTC disabilitato (nessuna temporizzazione). TRUE - livello batteria RTC basso. FALSE - livello batteria RTC non è basso. Stato dell'operazione di lettura. Valori di stato (Sts) RTC_Set: · 0x00: blocco funzione non abilitato (nessuna operazione). · 0x01: operazione di impostazione RTC riuscita. · 0x02: operazione di impostazione RTC non riuscita.

Parametri
Year
Month Day Hour Minute Second DayOfWeek

Tipo di dati RTC

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati RTC.

Tipo di dati UINT
UINT UINT UINT UINT UINT UINT

Descrizione
L'impostazione anno per RTC. Valore a 16 bit, intervallo valido da 2000 (01 gen, 00:00:00) a 2098 (31 dic, 23:59:59)
L'impostazione mese per RTC.
L'impostazione giorno per RTC. L'impostazione ora per RTC. L'impostazione minuto per RTC. L'impostazione secondi per RTC. L'impostazione giorno della settimana per RTC. Questo parametro è ignorato per RTC_SET.

Esempio di Programmazione a blocchi funzionali RTC_SET

406

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 16
Esempio di Diagramma ladder RTC_SET

Istruzioni ingresso/uscita

Esempio di Testo strutturato RTC_SET

SYS_INFO

Vedere anche
Istruzioni ingresso/uscita a pagina 355
Legge il blocco dati dello stato per il controllore Micro800.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro Enable
Sts ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso
Uscita Uscita

BOOL
SYSINFO BOOL

Abilitazione del blocco istruzione. TRUE: esegue l'operazione di lettura. FALSE: non esegue la funzione. Blocco dati dello stato del sistema. L'uscita Sts è definita nel tipo di dati SYS_INFO. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

407

Capitolo 16

Istruzioni ingresso/uscita
Esempio di Programmazione a blocchi funzionali SYS_INFO

Esempio di Diagramma ladder SYS_INFO

Esempio di Testo strutturato SYS_INFO

408

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 16 Istruzioni ingresso/uscita

Vedere anche
Istruzioni ingresso/uscita a pagina 355 Tipo di dati SYS_INFO a pagina 409

Tipo di dati SYS_INFO

Nella tabella seguente è descritto il tipo di dati SYSINFO.

Parametri

Tipo di dati Descrizione

BootMajRev

UINT

BootMinRev

UINT

Serie del sistema operativo:

UINT

Revisione maggiore boot.
Revisione minore boot. Serie del sistema operativo: 0 indica un dispositivo di serie A 1 indica un dispositivo di serie B

OSMajRev OSMinRev ModeBehaviour
FaultOverride

UINT

Revisione maggiore OS.

UINT

Revisione minore OS.

BOOL

Modalità di comportamento (TRUE: va a RUN all'accensione).

BOOL

Fault Override (TRUE: errore di sostituzione all'accensione).

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

409

Capitolo 16 Istruzioni ingresso/uscita

Parametri

Tipo di dati

StrtUpProtect

BOOL

MajErrHalted

BOOL

MajErrCode

UINT

MajErrUFR

BOOL

UFRPouNum

UINT

MMLoadAlways

BOOL

MMLoadOnError

BOOL

MMPwdMismatch

BOOL

FreeRunClock

UINT

Descrizione
Protezione all'avvio (TRUE: all'accensione, esegue programma di protezione in avvio). Per versioni future.
Errore grave arrestato (TRUE: Errore grave arrestato).
Codice di errore grave. Errore grave durante routine errore utente. Per versioni future.
Numero programma routine errore utente. Ripristina sempre il modulo di memoria al controllore all'accensione (TRUE: Ripristina).
Ripristina sempre il modulo di memoria al controllore in caso di errore all'accensione (TRUE: Ripristina). Mancata corrispondenza password del modulo memoria (TRUE: Mancata corrispondenza password del controllore e del modulo memoria).
Free running clock con incrementi ogni 100 microsecondi da 0 a 65535 e successivo ritorno a 0. Il clock, accessibile a livello globale, può essere utilizzato in caso sia necessaria una risoluzione maggiore rispetto al timer standard da 1 millisecondo. Supportato solo dai controllori Micro830 e Micro850. Il valore per i controllori Micro810 resta 0.

ForcesInstall EMINFilterMod

BOOL

Forces installato (TRUE: Attivato).

BOOL

Filtro incorporato modificato (TRUE: Modificato).

Vedere anche
SYS_INFO a pagina 407

TRIMPOT_READ (lettura trimpot)

Legge il valore TrimPot da un trimpot specifico.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850 e Micro870.

Parametro Enable
TrimPotID

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue la lettura di Trimpot.

FALSE: nessuna operazione di lettura e il valore di uscita TrimPot non è valido.

Ingresso

UINT

L'ID del Trimpot da leggere. TrimPotID è definito nelle definizioni ID Trimpot.

410

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

TrimPotValue Sts

Uscita Uscita

ENO

Uscita

Capitolo 16 Istruzioni ingresso/uscita

UINT

Valore trimpot corrente.

UINT

Stato dell'operazione di lettura Trimpot.

Codici dello stato (Sts) TRIMPOT:

· 0x00 - Blocco funzione non abilitato (nessuna operazione di lettura/scrittura).

· 0x01 - Operazione di lettura/scrittura riuscita.

· 0x02 - Operazione di lettura/scrittura non riuscita a causa di un ID Trimpot non valido.

· 0x03 - Operazione di scrittura non riuscita a causa di un valore fuori intervallo.

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di Programmazione a blocchi funzionali TRIMPOT

Esempio di Diagramma ladder TRIMPOT

Esempio di Testo strutturato TRIMPOT

Definizione ID Trimpot

Vedere anche
Istruzioni ingresso/uscita a pagina 355 Definizioni ID Trimpot a pagina 411 La tabella seguente descrive la definizione ID Trimpot utilizzata nell'istruzione TRIMPOT_read.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

411

Capitolo 16 Istruzioni ingresso/uscita

Selezione uscita

Bit

Definizione ID Trimpot

15 - 13

12 - 8

7 - 4 3 - 0

Descrizione
Modulo tipo di trimpot: · 0x00 - Integrato. · 0x01 - Espansione. · 0x02 - Porta plug-in.
ID slot del modulo: · 0x00 - Integrato. · 0x01-0x1F - ID del modulo di espansione. · 0x01-0x05 - ID della porta plug-in.
Tipo di trimpot: · 0x00 - Riservata. · 0x01 - Trimpot digitale tipo 1 (modulo LCD 1). · 0x02 - Modulo meccanico trimpot 1. ID trimport all'interno del modulo: · 0x00-0x0F - Integrato. · 0x00-0x07 - ID trimpot per espansione. · 0x00-0x07 - ID trimpot per porta plug-in. ID trimpot inizia da 0.

Vedere anche
TRIMPOT_READ a pagina 410

412

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzioni di interruzione

Capitolo 17

Funzione STIS a pagina 413 UIC a pagina 415 UID a pagina 416 UIE a pagina 418 UIF a pagina 420

Utilizzare le istruzioni di interrupt per segnalare al processore la necessità di considerare un evento. Il segnale di interrupt, di solito, è utilizzato per condizioni di elevata priorità per cui è richiesta l'interruzione del codice corrente mentre il processore è in funzionamento.
Descrizione
Avvia il timer Selected Timed Interrupt (STI) utente dal programma di controllo invece che con l'avvio automatico.
Annulla la perdita di bit per l'interrupt utente selezionato.
Disabilita un interrupt utente specifico.
Abilita un interrupt utente specifico. Scarica o rimuove un ingresso utente in sospeso.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

STIS (selezione avvio temporizzato)

Avvia il timer Selectable Timed Interrupt (STI) utente dal programma di controllo invece che con l'avvio automatico.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro Enable

Tipo di parametro Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione istruzioni.

TRUE: avvia il timer STI dal programma di controllo.

FALSE: non esegue la funzione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

413

Capitolo 17 IRQType

Istruzioni di interruzione

Ingresso

UDINT

SetPoint

Ingresso

UINT

STIS

Uscita

BOOL

Utilizzare le parole STI definite. - IRQ_STI0 - IRQ_STI1 - IRQ_STI2 - IRQ_STI3 Intervallo di tempo (in ms) che deve trascorrere prima di eseguire l'interrupt temporizzato selezionabile. Il valore 0 disabilita la funzione STIS. Un valore compreso tra 1 e 65535 abilita la funzione STIS. Status del piolo (lo stesso di Abilita).

Esempio di programmazione a blocchi funzionali STIS

Esempio di diagramma ladder STIS

Esempio di testo strutturato STIS

(* Equivalenza ST: *) TESTOUTPUT := STIS(TESTENABLE, 2, 1000) ;

414

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 17 Istruzioni di interruzione

Vedere anche
Istruzioni di interrupt a pagina 413

UIC (bit clear interrupt lost)

Cancella il bit perso per l'interrupt utente selezionato.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro Enable IRQType
UIC

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso Ingresso
Uscita

BOOL

Abilitazione istruzioni.

TRUE: avvia l'operazione Cancella bit.

FALSE: non esegue la funzione.

UDINT

Utilizzare le parole - IRQ_HSC3

STI definite.

- IRQ_HSC4

- IRQ_EII0

- IRQ_HSC5

- IRQ_EII1

- IRQ_STI0

- IRQ_EII2

- IRQ_STI1

- IRQ_EII3

- IRQ_STI2

- IRQ_EII4

- IRQ_STI3

- IRQ_EII5

- IRQ_UFR

- IRQ_EII6

- IRQ_UPM0

- IRQ_EII7

- IRQ_UPM1

- IRQ_HSC0

- IRQ_UPM2

- IRQ_HSC1

- IRQ_UPM3

- IRQ_HSC2

- IRQ_UPM4

BOOL

Status del piolo (lo stesso di Abilita).

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

415

Capitolo 17

Istruzioni di interruzione

Esempio di programmazione a blocchi funzionali UIC

Esempio di diagramma ladder UIC

Esempio di testo strutturato UIC Risultati

UID (disattivazione interrupt)

Vedere anche
Istruzioni di interrupt a pagina 413 Disabilita uno o più interrupt utente specifici. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

416

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 17 Istruzioni di interruzione
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Parametro

Tipo di parametro Tipo di dati Descrizione

Enable IRQType

Ingresso Ingresso

UID

Uscita

BOOL

Abilitazione istruzioni.

TRUE: avvia l'operazione di disattivazione.

FALSE: non esegue la funzione.

UDINT

Utilizzare le parole STI definite.

- IRQ_HSC3

- IRQ_EII0

- IRQ_HSC4

- IRQ_EII1

- IRQ_HSC5

- IRQ_EII2

- IRQ_STI0

- IRQ_EII3

- IRQ_STI1

- IRQ_EII4

- IRQ_STI2

- IRQ_EII5

- IRQ_STI3

- IRQ_EII6

- IRQ_UFR

- IRQ_EII7

- IRQ_UPM0

- IRQ_HSC0

- IRQ_UPM1

- IRQ_HSC1

- IRQ_UPM2

- IRQ_HSC2

- IRQ_UPM3

- IRQ_UPM4

BOOL

Status del piolo (lo stesso di Abilita).

Esempio di programmazione a blocchi funzionali UID

Esempio di diagramma ladder UID

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

417

Capitolo 17

Istruzioni di interruzione

Esempio di testo strutturato UID

(* Equivalenza ST: *) TESTOUTPUT := UID(TESTENABLE, 2) ;
Risultati

Vedere anche
Istruzioni di interrupt a pagina 413

UIE (abilitazione interrupt)

Abilita un interrupt utente specifico.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

418

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro Enable IRQType

Tipo di parametro Tipo di dati

Ingresso

BOOL

Ingresso

UDINT

UIE

Uscita

BOOL

Descrizione

Capitolo 17

Istruzioni di interruzione

Abilitazione istruzioni. TRUE: avvia l'operazione di abilitazione. FALSE: non esegue la funzione. Utilizzare le parole STI definite. - IRQ_EII0 - IRQ_EII1 - IRQ_EII2 - IRQ_EII3 - IRQ_EII4 - IRQ_EII5 - IRQ_EII6 - IRQ_EII7 - IRQ_HSC0 - IRQ_HSC1 - IRQ_HSC2
Status del piolo (lo stesso di Abilita).

- IRQ_HSC3 - IRQ_HSC4 - IRQ_HSC5 - IRQ_STI0 - IRQ_STI1 - IRQ_STI2 - IRQ_STI3 - IRQ_UFR - IRQ_UPM0 - IRQ_UPM1 - IRQ_UPM2 - IRQ_UPM3 - IRQ_UPM4

Esempio di programmazione a blocchi funzionali UIE

Esempio di diagramma ladder UIE Esempio di testo strutturato UIE

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

419

Capitolo 17

Istruzioni di interruzione

(* Equivalenza ST: *) TESTOUTPUT := UIE(TESTENABLE, 2) ;

Risultati

Vedere anche
Istruzioni di interrupt a pagina 413

UIF (interrupt flush in attesa)

Scarica o rimuove un interrupt utente in sospeso.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro Enable

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Abilitazione istruzioni. TRUE: avvia l'operazione UIF. FALSE: non esegue la funzione.

420

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

IRQType UIF

Ingresso

UDINT

Uscita

BOOL

Capitolo 17
Utilizzare le parole STI definite. - IRQ_EII0 - IRQ_EII1 - IRQ_EII2 - IRQ_EII3 - IRQ_EII4 - IRQ_EII5 - IRQ_EII6 - IRQ_EII7 - IRQ_HSC0 - IRQ_HSC1 - IRQ_HSC2
Status del piolo (lo stesso di Abilita).

Istruzioni di interruzione
- IRQ_HSC3 - IRQ_HSC4 - IRQ_HSC5 - IRQ_STI0 - IRQ_STI1 - IRQ_STI2 - IRQ_STI3 - IRQ_UFR - IRQ_UPM0 - IRQ_UPM1 - IRQ_UPM2 - IRQ_UPM3 - IRQ_UPM4

Esempio di programmazione a blocchi funzionali UIF

Esempio di diagramma ladder UIF Esempio di testo strutturato UIF

(* Equivalenza ST: *) TESTOUTPUT := UIF(TESTENABLE, 2) ;

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

421

Capitolo 17

Istruzioni di interruzione

Risultati

Vedere anche
Istruzioni di interrupt a pagina 413

422

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18
Istruzioni di controllo del movimento

Utilizzare le istruzioni Controllo movimento per programmare e progettare il movimento di un particolare asse. Controllo movimento richiede Connected Components Workbench 2.0 o versione successiva.
Suggerimento: · le funzioni amministrative supportano il controllo assi PTO e Motion feedback. · Le istruzioni di controllo movimento che supportano un FBAxis sono: MC_ReadActualPosition e
MC_ReadActualVelocity.

Istruzione
Administrative
MC_AbortTrigger a pagina 434 MC_Power a pagina 457 MC_ReadAxisError a pagina 468 MC_ReadBoolParameter a pagina 473 MC_ReadParameter a pagina 475 MC_ReadStatus a pagina 478 MC_Reset a pagina 484
MC_SetPosition a pagina 486
MC_TouchProbe a pagina 492 MC_WriteBoolParameter a pagina 496 MC_WriteParameter a pagina 499
Controllo assi
MC_Halt a pagina 437 MC_Home a pagina 440 MC_MoveAbsolute a pagina 445 MC_MoveRelative a pagina 448
MC_MoveVelocity a pagina 453 MC_ReadActualPosition a pagina 460
MC_ReadActualVelocity a pagina 464
MC_Stop a pagina 489

Descrizione
Interrompe i blocchi funzione Controllo assi collegati agli eventi di attivazione.
Controllo dello stato di alimentazione (ON o OFF). Legge gli errori dell'asse non in relazione ai blocchi funzione Controllo movimento. Restituisce il valore di un parametro specifico del produttore di tipo BOOL. Restituisce il valore di un parametro specifico del fornitore di tipo Real. Restituisce lo stato dell'asse rispetto al movimento attualmente in corso. Trasforma lo stato dell'asse da ErrorStop a StandStill ripristinando tutti gli errori interni legati all'asse. Sposta il sistema delle coordinate di un asse tramite la manipolazione della posizione effettiva. Registra una posizione dell'asse in corrispondenza di un evento di attivazione.
Modifica il valore di un parametro specifico del fornitore di tipo BOOL. Modifica del valore di un parametro specifico del fornitore di tipo REAL.
Comanda un arresto controllato del movimento in condizioni operative normali. Comanda l'asse per l'esecuzione della sequenza <search home>. Determina un movimento controllato verso una posizione assoluta specificata. Determina un movimento controllato di una distanza specificata rispetto alla posizione attuale nel momento dell'esecuzione.
Determina un movimento controllato infinito a una velocità specificata. Restituisce la posizione effettiva dell'asse di feedback. Richiede Connected Components Workbench 8 o versione successiva. Ritorna alla velocità corrente dell'asse di feedback. Richiede Connected Components Workbench 8 o versione successiva. Comanda un arresto di movimento controllato e trasferisce lo stato dell'asse su Arresto in corso.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

423

Capitolo 18 Istruzioni di controllo del movimento

Regole generali per i blocchi

Le regole generali per i blocchi funzione di controllo movimento Micro800 seguono le specifiche di controllo movimento PLCopen. La

funzione di controllo

seguente tabella fornisce le regole generali sull'interfaccia dei blocchi

movimento

funzione di controllo movimento.

La regola si applica a

Regola

Parametri di ingresso

Con Execute: i parametri vengono utilizzati con il fronte di salita dell'input di esecuzione. Per modificare i parametri, cambiare i parametri di input e attivare o disattivare il movimento. se un'istanza di un blocco funzione riceve un nuovo comando Esegui prima del completamento (con una serie di comandi sulla stessa istanza), il nuovo comando Esegui viene ignorato e continua l'esecuzione dell'istruzione precedente. Con Enable: i parametri vengono utilizzati con il fronte di salita dell'input di abilitazione e possono essere modificati continuamente.

Parametri di input mancanti Input che superano i limiti dell'applicazione
Regole del segno per gli input Posizione e distanza Input di posizione/distanza

Gli input mancanti verranno catturati durante la compilazione dell'applicazione utente. A livello di controllore la gestione degli errori di input mancanti non avviene.
Se un blocco funzione riceve i comandi mediante parametri che provocano la violazione dei limiti dell'applicazione, l'istanza del blocco funzione genera un errore. In tal caso, viene contrassegnata la presenza di un errore, le cui informazioni verranno indicate dall'ID dell'errore di uscita. Nella gran parte dei casi il controllore rimane in modalità di esecuzione e non vengono riportati errori gravi per il controllore.
Gli input di accelerazione, decelerazione e strappo sono sempre valori positivi. Input di velocità, posizione e distanza possono avere valori positivi e negativi.
Il valore di posizione è definito in un sistema di coordinate. La distanza è una misura relativa rapportata alle unità tecniche. La distanza è la differenza tra due posizioni. I controllori Micro800 supportano solo il movimento lineare. Per il blocco funzione MC_MoveAbsolute, l'input di posizione rappresenta la posizione assoluta per i comandi sugli assi. Per MC_MoveRelative, l'input di distanza rappresenta la collocazione relativa (considerando la posizione attuale dell'asse come 0) rispetto alla posizione attuale.

Input di velocità Input di direzione

La velocità può essere un valore con segno, tuttavia è possibile utilizzare l'input di direzione per definire il segno della velocità (velocità negativa x direzione negativa = velocità positiva). La "direzione" del parametro E si riferisce all'ingresso e all'uscita di velocità per motivi di compatibilità.
Per il movimento di distanza (posizione), per cui è definita la posizione di destinazione (assoluta o relativa), la direzione di movimento è univoca. L'input di direzione per il movimento di distanza viene ignorato. Per il movimento di velocità, il valore dell'input di direzione può essere 1 (direzione positiva), 0 (direzione attuale) o -1 (direzione negativa). Per gli altri valori, viene preso in considerazione solo il segno. Ad esempio, -3 indica una direzione negativa, +2 una direzione positiva e così via. Per il movimento di velocità (MC_MoveVelocity), il segno (velocità x direzione) determina la direzione effettiva del movimento se il valore è diverso da 0. Ad esempio, se velocità x direzione = +300, la direzione è positiva.

Input di accelerazione, decelerazione e Jerk

· Gli ingressi di accelerazione e decelerazione devono avere un valore positivo. Se decelerazione o accelerazione sono impostati con un valore non positivo, il blocco funzione riporterà un errore (ID errore: MC_FB_ERR_RANGE).
· L'ingresso del jerk deve avere un valore non negativo. Se lo strappo è impostato a un valore negativo, il blocco funzione riporterà un errore (ID errore: MC_FB_ERR_RANGE).
· Se il jerk massimo è configurato su zero, tutti i parametri del jerk per il blocco funzione del controllo movimento, inclusa l'impostazione jerk per MC_Stop, devono essere configurati su 0. In caso contrario, il blocco funzione riporterà un errore (ID errore: MC_FB_ERR_RANGE).
· Se il jerk è impostato su un valore diverso da zero, viene generato un profilo di formato curva a S, mentre se il jerk è impostato su 0, viene generato un profilo trapezoidale.
· La configurazione di jerk iniziale non è limitata alla configurazione di jerk massimo. · Se il motore movimento non riesce a generare il profilo di movimento stabilito dai parametri di ingresso dinamici, il
blocco funzione riporta un errore (ID errore: MC_FB_ERR_PROFILE).

424

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

La regola si applica a Esclusività dell'output

Regola

Capitolo 18 Istruzioni di controllo del movimento

Con Execute: quando Execute è TRUE, anche uno degli output Busy, Done, Error o CommandAborted deve essere TRUE. Le uscite si escludono a vicenda: su un blocco funzione solo una di esse può essere TRUE. È impostata solo uno degli output Active, Error, Done e CommandAborted per volta. Con Enable: gli output Valid ed Error si escludono a vicenda: su un blocco funzione solo una di esse può essere TRUE.

Stato output
Comportamento con l'output Done Comportamento dell'uscita Busy
Comportamento dell' uscitaCommandAborted Output Active Stati Enable e Valid
Gestione errori di uscita

Con Execute: gli output Done, Error, ErrorID e CommandAborted sono reimpostati con il fronte di discesa dell'istruzione Execute. Tuttavia, il fronte di discesa di Execute non arresta né influisce sull'esecuzione del blocco funzione effettivo. Anche se Execute viene reimpostata prima che il blocco funzione sia completato, gli output corrispondenti sono impostati per almeno un ciclo. Se un'istanza di un blocco funzione riceve un nuovo comando Execute prima del completamento (con una serie di comandi sulla stessa istanza), il nuovo comando Execute viene ignorato e continua l'esecuzione dell'istruzione precedente. Con Enable: gli output Valid, Enabled, Busy, Error ed ErrorID vengono reimpostati appena possibile con il fronte di discesa di Enable.
L'output Done viene impostato quando viene completata l'azione comandata. Quando sono in funzione più blocchi funzione in sequenza sullo stesso asse, si verifica quanto segue: · Quando un movimento su un asse viene interrotto con un altro movimento sullo stesso asse, senza aver raggiunto
l'obiettivo finale, sul primo blocco funzione non viene impostato Done.
Ciascun blocco funzione può avere un output Busy, che indica che il blocco funzione non è ancora terminato (per i blocchi funzione con un input Execute) o che non è in funzione ed è possibile aspettarsi nuovi valori di output (nel caso di input Enable). L'output Busy è impostato sul fronte di salita di Execute e viene reimpostato quando si imposta uno degli output Done, Aborted o Error. Si consiglia di tenere questo blocco funzione nel loop attivo del programma applicativo finché l'output Busy è TRUE, dato che gli output possono ancora cambiare. I blocchi funzione con la stessa istanza di quelli busy non possono essere eseguiti finché sono busy. I blocchi funzione con diverse istanze possono interrompere il blocco funzione in esecuzione.
L'output CommandAborted viene impostato quando un movimento impartito viene interrotto da un altro comando di movimento. Il comportamento di reimpostazione di CommandAborted è simile a quello dell'output Done. Quando si verifica un CommandAborted, gli altri segnali di output quali InVelocity vengono reimpostati. L'output Active è necessario per i blocchi funzione in buffer, e viene impostato nel momento in cui il blocco funzione prende il controllo movimento dell'asse corrispondente. Per la modalità senza buffer, gli output Active e Busy possono avere lo stesso valore. L'input Enable è associato a un output Valid. Enable è sensibile al livello, Valid invece mostra che è disponibile un gruppo di output validi sul blocco funzione. L'output Valid è TRUE finché è disponibile un valore di output valido e l'input Enable è TRUE. Il relativo valore di output può essere aggiornato fino a quando l'input Enable è TRUE. Se si verifica un errore del blocco funzione, l'uscita non è valida (Valid impostato su FALSE). Quando la condizione di errore scompare, i valori ricompaiono e l'uscita Valid viene impostata di nuovo.
Uscite utilizzate per definire gli errori Tutti i blocchi hanno le due uscite descritte di seguito, le quali gestiscono gli errori che potrebbero verificarsi durante l'esecuzione: · Error ­ il fronte di salita di "Error" informa che si è verificato un errore durante l'esecuzione del blocco funzione. · ErrorID ­ numero dell'errore. gli output Done e InVelocity servono per il completamento senza errori, pertanto dal punto di vista logico escludono Error. Gli errori delle istanze non sempre danno luogo a errori di assi (causando un ErrorStop dell'asse). Come ripristinare le uscite degli errori · Le uscite degli errori che riguardano importanti blocchi funzione vengono reimpostate con fronte di discesa Execute
ed Enable. · Le uscite degli errori dei blocchi funzione con Enable possono essere reimpostate durante il funzionamento, senza
dover reimpostare Enable.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

425

Capitolo 18 Istruzioni di controllo del movimento

La regola si applica a

Regola

Convenzioni per la denominazione dei tipi ENUM

Tipi di errori · Logica dei blocchi funzione (ad esempio, parametri fuori intervallo, tentativi di violazione dello stato e così via) · Limite HW o SW · Meccanismo/Motore · Unità A causa dei limiti nella denominazione previsti dallo standard IEC relativo alla univocità dei nomi delle variabili, per gli ENUM viene utilizzato il riferimento 'mc' allo spazio dei nomi per il controllo movimento PLCopen. In tal modo si evita il conflitto derivante dall'utilizzo dei tipi ENUM 'positive' e 'negative' per istanze con variabili con tali nomi per tutto il resto del progetto, dato che vengono denominate rispettivamente mcPositive e mcNegative.

Vedere anche
Istruzioni di controllo del movimento a pagina 423

Dettagli relativi ai parametri

I seguenti argomenti contengono dettagli sui parametri del controllo del movimento rilevanti per tutti i relativi blocchi funzione.

del blocco funzione per il

Stati asse di controllo movimento a pagina 426

controllo del movimento

Numeri dei parametri del blocco funzione per il controllo del

movimento a pagina 429

ID errori del blocco funzione di controllo movimento a pagina 430

Stati asse di controllo movimento

Secondo la regola di base per il comportamento dell'asse ad alto livello, quando sono attivati più blocchi funzione per il controllo movimento, i comandi del movimento sono accettati sempre in modo sequenziale, anche se il controllore ha la capacità di elaborare contemporaneamente i valori reali. Qualsiasi comando di movimento è un transitorio che modifica lo stato dell'asse e, di conseguenza, modifica il modo in cui viene calcolato il movimento corrente.

426

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Diagramma di stato dell'asse di controllo movimento
L'asse è sempre in uno degli stati definiti, come descritto nel seguente diagramma.

No Nota

Comportamento dello stato dell'asse di controllo movimento

1 Negli stati ErrorStop e Stopping, possono essere chiamati tutti i blocchi funzione (eccetto MC_Reset), ma non saranno eseguiti. MC_Reset genera una transizione allo stato StandStill. Se si verifica un errore mentre la macchina è nello stato Stopping, si verifica una transizione allo stato ErrorStop.
2 Power.Enable = TRUE ed è presente un errore nell'asse.

3 Power.Enable = TRUE e non sono presenti errori nell'asse.
4 MC_Stop.Done AND NOT MC_Stop.Execute. 5 Quando viene chiamato il blocco funzione MC_Power con Enable = False, lo stato dell'asse passa a Disabled per ogni stato, incluso
ErrorStop. 6 Se si verifica un errore mentre la macchina è nello stato Stopping, si verifica una transizione allo stato ErrorStop.

Valori dei codici di stato dell'asse di controllo movimento

È possibile monitorare lo stato dell'asse tramite la funzione Monitoraggio asse. Nella seguente tabella sono identificati i valori utilizzati per definire ciascuno degli stati dell'asse predefiniti.

Valore stato
0x00 0x01 0x02

Nome stato
Disattivato Fermo Movimento discreto

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

427

Capitolo 18

Istruzioni di controllo del movimento
0x03 0x04 0x06 0x07

Movimento continuo Azzeramento Arresto in corso Arresto errore

Aggiornamenti di stato degli assi
All'esecuzione del movimento, l'aggiornamento di stato dell'asse dipende da quando il blocco funzione del movimento in questione viene chiamato dalla scansione POU. Questo vale anche quando il profilo di movimento è controllato dal Motore movimento come attività di background, indipendentemente dalla scansione POU.
Ad esempio, su un asse in movimento di una scala POU (stato di un piolo = true) viene analizzato un blocco funzione MC_MoveRelative nel piolo e l'asse inizia a muoversi. Prima del completamento di MC_MoveRelative, lo stato del piolo passa a False e MC_MoveRelative non viene più scansionato. In questo caso lo stato dell'asse non può passare da Discrete Motion a StandStill, neanche dopo l'arresto completo dell'asse e la velocità a 0.

Vedere anche
Istruzioni di controllo del movimento a pagina 423 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426

428

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Numeri dei parametri del blocco funzione per il controllo del movimento

Capitolo 18 Istruzioni di controllo del movimento
Durante la programmazione dei blocchi funzione i seguenti blocchi funzione utilizzano numeri di parametri specifici.
· MC_ReadParameter · MC_ReadBoolParameter · MC_WriteParameter · MC_WriteBoolParameter

Identificazione del numero del parametro

I numeri del parametro tra 0 e 999 sono riservati ai parametri standard. Sono consentite anche aggiunte da parte di fornitori o utenti, tuttavia ciò potrebbe incidere sulla trasportabilità da una piattaforma all'altra. Se il numero del parametri è maggiore di 999, il parametro è specifico del fornitore.

Numero parametro Nome parametro

1

Posizione comandata

2

SWLimitPos

3

SWLimitNeg

4

EnableLimitPos

5

EnableLimitNeg

8

MaxVelocitySystem

9

MaxVelocityAppl

11

CommandedVelocity

12

MaxAccelerationSystem

13

MaxAccelerationAppl

14

MaxDecelerationSystem

15

MaxDecelerationAppl

16

MaxJerk

1001

TargetPosition

1002

TargetVelocity1

1005

Ciclo di lavoro

1006

PulsePerRevolution

1007

TravelPerRevolution

Tipo di R/W

dati

REAL

R

REAL

R/W

REAL

R/W

BOOL

R/W

BOOL

R/W

REAL

R

REAL

R/W

REAL

R

REAL

R

REAL

R/W

REAL

R

REAL

R/W

REAL

R/W

REAL

R

REAL

R

REAL

R/W

REAL

R

REAL

R

Descrizione
Posizione comandata.
Posizione interruttore limite software positivo.
Posizione interruttore limite software negativo.
Abilita interruttore limite software positivo. Abilita interruttore limite software negativo. Velocità massima consentita per l'asse nel sistema di movimento. Velocità massima consentita per l'asse nell'applicazione. Velocità comandata. Accelerazione massima consentita per l'asse nel sistema di movimento. Accelerazione massima consentita per l'asse nell'applicazione. Decelerazione massima consentita per l'asse nel sistema di movimento. Decelerazione massima consentita per l'asse nell'applicazione. Strappo massimo dell'asse consentito. La posizione di destinazione finale per il blocco funzione del movimento corrente attivo La velocità di destinazione finale per il blocco funzione del movimento corrente attivo Il ciclo di carico per un impulso. Il valore valido è compreso tra 0 e 100, per indicare l'intervallo 0% - 100%. (la funzione PWM può essere realizzata regolando questo valore). Questo parametro può essere configurato solo utilizzando questo blocco funzione. Il valore predefinito è impostato su 50.0 dal controllore. Nota: Per Ciclo di carico, il valore verrà sovrascritto dall'impostazione predefinita 50.0 quando il controllore passa dalla modalità RUN alla modalità PRG e nuovamente alla modalità RUN, o quando il controllore viene spento e riacceso. L'impostazione Impulsi per giro immessa dall'utente nell'interfaccia grafica CCW. L'impostazione Corsa per giro immessa dall'utente nell'interfaccia grafica CCW.

Vedere anche
Istruzioni di controllo del movimento a pagina 423

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

429

Capitolo 18

Istruzioni di controllo del movimento
Regole generali per i blocchi funzione di controllo movimento a pagina 424
Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426

ID errori del blocco funzione Quando un blocco funzione Controllo movimento termina con un errore

e lo stato dell'asse è ErrorStop, utilizzare il blocco funzione MC_Reset

di controllo movimento

o MC_Power Off/On e MC_Reset per recuperare l'asse. L'asse può

essere reimpostato sul movimento normale senza interrompere il

funzionamento del controllore.

Utilizzare questa tabella per determinare gli errori per i blocchi funzione Controllo movimento.

Valore ID MACRO

Descrizione

00

MC_FB_ERR_

NO

Blocco funzione eseguito correttamente.

01

MC_FB_ERR_

WRONG_STATE

02

MC_FB_ERR_

RANGE

Non è possibile eseguire il blocco funzione, in quanto l'asse non è nello stato corretto. Verificare lo stato dell'asse.
Non è possibile eseguire il blocco funzione per via di parametri dinamici dell'asse non validi (velocità, accelerazione, decelerazione o strappo) impostati in un blocco funzione. Correggere l'impostazione dei parametri dinamici nel blocco funzione sulla pagina di configurazione Dinamica asse.

03

MC_FB_ERR_

PARAM

04

MC_FB_ERR_

AXISNUM

05

MC_FB_ERR_

MECHAN

06

MC_FB_ERR_

NOPOWER

07

MC_FB_ERR_

RESOURCE

Non è possibile eseguire il blocco funzione per via di un parametro non valido che non riguarda velocità, accelerazione, decelerazione o strappo, impostato in un blocco funzione. Correggere l'impostazione dei parametri (ad es. modalità o posizione) per il blocco funzione. Non è possibile eseguire il blocco funzione perché l'asse non esiste, i dati di configurazione dell'asse sono danneggiati oppure la configurazione dell'asse non è corretta.
Non è possibile eseguire il blocco funzione in quanto l'asse va in errore a causa di problemi meccanici o dell'unità. Controllare il collegamento tra unità e controllore (segnali Pronto unità e In posizione), quindi verificare che l'unità funzioni normalmente.
Non è possibile eseguire il blocco funzione, in quanto l'asse non è alimentato. Alimentare l'asse con il blocco funzione MC_Power.
Non è possibile eseguire il blocco funzione in quanto la risorsa richiesta dal blocco funzione è controllata da un altro blocco funzione o non è disponibile. Verificare che la risorsa richiesta dal blocco funzione sia disponibile per l'uso. Esempi: · MC_Power tenta di controllare lo stesso asse. · Sono eseguiti MC_Stop sullo stesso asse e nello stesso momento. · Sono eseguiti MC_TouchProbe sullo stesso asse e nello stesso momento. · Viene eseguito MC_TouchProbe quando l'ingresso della sonda a contatto non è abilitato in Configurazione movimento.

08

MC_FB_ERR_

PROFILE

Non è possibile eseguire il blocco funzione, in quanto non è possibile ottenere il profilo di movimento definito nel blocco funzione. Correggere il profilo nel blocco funzione.

430

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Valore 09

ID MACRO
MC_FB_ERR_ VELOCITY

0A

MC_FB_ERR_

SOFT_LIMIT

0B

MC_FB_ERR_

HARD_LIMIT

0C

MC_FB_ERR_

LOG_LIMIT

0D

MC_FB_ERR_

ERR_ENGINE

10

MC_FB_ERR_

NOT_HOMED

80

MC_FB_ERR_

PARAM_MODIFIED

Descrizione

Capitolo 18 Istruzioni di controllo del movimento

Non è possibile eseguire il blocco funzione, in quanto non è possibile ottenere il profilo di movimento richiesto nel blocco funzione a causa della velocità attuale dell'asse. Esempi: · Il blocco funzione richiede che l'asse inverta la direzione mentre l'asse è in movimento. · Il profilo di movimento richiesto non è raggiungibile per via della velocità corrente, troppo ridotta o troppo elevata. Verificare l'impostazione del profilo di movimento nel blocco funzione e correggerlo oppure rieseguire il blocco funzione quando la velocità dell'asse è compatibile con il profilo di movimento richiesto.

Non è possibile eseguire questo blocco funzione in quanto il movimento supererà il limite software, oppure il blocco funzione è stato interrotto a causa del raggiungimento del limite software. Controllare le impostazioni di velocità o posizione destinazione nel blocco funzione, oppure regolare il limite software.

Il blocco funzione è stato interrotto in quanto è stato rilevato lo stato attivo dell'interruttore del limite hardware durante il movimento dell'asse o prima dell'avvio del movimento dell'asse. Spostare l'asse dall'interruttore del limite hardware, nella direzione opposta.

Non è possibile eseguire questo blocco funzione in quanto il movimento supererà il limite logico dell'accumulatore PTO, oppure il blocco funzione è stato interrotto a causa del raggiungimento del limite logico dell'accumulatore PTO. Controllare le impostazioni di velocità o posizione destinazione per il blocco funzione. In alternativa, utilizzare il blocco funzione MC_SetPosition per regolare il sistema di coordinate dell'asse.
È stato rilevato un errore di esecuzione del motore di movimento durante l'esecuzione di questo blocco funzione. Eseguire un ciclo di alimentazione dell'intero sistema di movimento, inclusi controllore, unità e attuatori e scaricare nuovamente l'applicazione utente. Se l'errore persiste, rivolgersi all'assistenza tecnica.
Non è possibile eseguire il blocco funzione, perché è necessario porre prima l'asse in sede. Riposizionare nuovamente l'asse in sede usando il blocco funzione MC_Home.
Avvertenza: la velocità richiesta per l'asse è stata regolata su un valore inferiore. Il blocco funzione è stato eseguito correttamente a una velocità ridotta.

Vedere anche
Istruzioni di controllo del movimento a pagina 423
Regole generali per i blocchi funzione di controllo movimento a pagina 424
Stati asse di controllo movimento a pagina 426
Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426

Scenari di errore asse

Nella maggior parte dei casi, quando l'istruzione di un blocco funzione movimento trasmessa a un asse comporta un errore del blocco funzione, l'asse viene contrassegnato come in stato Error e il corrispondente elemento ErrorID è impostato sui dati AXIS_REF per l'asse.
Nelle seguenti situazioni, l'asse non passa sempre allo stato di Errore ed è possibile per l'applicazione utente trasmettere un corretto blocco funzione movimento all'asse dopo che lo stato dell'asse cambia.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

431

Capitolo 18 Istruzioni di controllo del movimento Scenario

Esempio

Un blocco funzione movimento comanda un asse, ma l'asse si trova in uno stato in cui il blocco funzione non può essere eseguito correttamente.
Un blocco funzione movimento comanda un asse, ma l'asse viene ancora controllato da un altro blocco funzione movimento. L'asse non può consentire che il movimento venga controllato dal nuovo blocco funzione senza raggiungere l'arresto completo.
Quando un blocco funzione prova a controllare un asse, ma l'asse è ancora controllato da un altro blocco funzione movimento e il nuovo profilo movimento definito non può essere realizzato da un controllore.

L'asse non ha potenza o l'asse si trova in una sequenza Homing oppure in uno stato Error Stop. Il nuovo blocco funzione specifica all'asse di cambiare la direzione di movimento.
L'applicazione utente rilascia un blocco funzione curvato a S MC_MoveAbsolute su un asse, per diminuire la distanza fornita quando l'asse è in movimento.

Vedere anche
Regole generali per i blocchi funzione di controllo movimento a pagina 424

Tipo di dati AXIS_REF
Parametri Axis_ID Flag di errore AxisHomed

Il tipo di dati AXIS_REF è una struttura dati che contiene informazioni per il controllo assi e viene utilizzata come variabile di ingresso e uscita in tutti i blocchi funzione di controllo movimento. Un'istanza di un tipo di dati AXIS_REF viene creata automaticamente con l'aggiunta di un asse di movimento alla configurazione.

Tipo di dati Descrizione

AXIS_REF

L'ID asse logico è assegnato automaticamente da Connected Components Workbench. Non è possibile né modificarlo né visualizzarlo.

BOOL

Indica se è presente un errore nell'asse.

Se un asse è contrassegnato da un errore e l'ID errore non è zero, è necessario ripristinare l'asse tramite MC_Reset prima di attivare un altro blocco funzione di movimento.

BOOL

Indica se l'operazione di autoguida per l'asse è stata eseguita correttamente.

Quando l'utente tenta di rieseguire l'autoguida per un asse per cui è già impostato AxisHomed (autoguida eseguita correttamente), e l'esito è negativo, lo stato AxisHomed viene cancellato.

ConstVel

BOOL

AccFlag

BOOL

DecelFlag

BOOL

AxisState

USINT

ErrorID

UINT

ExtraData

UINT

TargetPos

REAL

Indica se il movimento dell'asse è in velocità costante. Un asse fermo non è considerato in velocità costante.
Indica se il movimento dell'asse è in accelerazione. Indica se il movimento dell'asse è in decelerazione. Indica lo stato attuale dell'asse.
Specifica la causa di un errore dell'asse quando ErrorFlag indica un errore. L'errore in genere deriva da un problema nell'esecuzione del blocco funzione di controllo movimento.
Riservato.
Indica la posizione di destinazione finale dell'asse per i blocchi funzione MoveAbsolute e MoveRelative. Per i blocchi funzione MoveVelocity, Stop e Halt, TargetPos è uguale a 0 tranne quando il valore TargetPos impostato da precedenti blocchi funzione di posizione non è stato eliminato.

CommandPos REAL

TargetVel

REAL

Durante il movimento, rappresenta la posizione attuale che il controllore comanda all'asse di assumere. Potrebbe verificarsi un leggero ritardo tra la posizione effettiva dell'asse e questo CommandPos.
La velocità di destinazione massima impartita all'asse per un blocco funzione di movimento. Il valore di TargetVel nel blocco funzione corrente o un valore inferiore, a seconda degli altri parametri per lo stesso blocco funzione.

432

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

CommandVel

REAL

Capitolo 18 Istruzioni di controllo del movimento
Durante il movimento, questo elemento indica la velocità corrente che il controllore comanda all'asse di utilizzare. Si tenga presente che potrebbe sussistere una leggera differenza tra la velocità effettiva dell'asse e CommandVel, a causa del ritardo dell'unità o della sua sovraelongazione di assestamento.

Vedere anche
Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426 Variabili dell'asse a pagina 434

Tipo di dati FB_AXIS_REF

Il tipo di dati FB_AXIS_REF è una struttura dati contenente informazioni per un asse di retroazione di movimento. Viene utilizzato come variabile di input e output nei blocchi funzione di controllo movimento. Un'istanza di un tipo di dati FB_AXIS_REF viene creata automaticamente con l'aggiunta di un modulo HSC e la modalità viene configurata come modalità Asse di retroazione.
IMPORTANTE se un asse di retroazione è contrassegnato da un errore e l'ID errore non è zero, è necessario ripristinare l'FBAxis tramite MC_Reset, prima di attivare un altro blocco funzione movimento.

Parametro Axis_ID
ErrorFlag ConstVel
AccelFlag DecelFlag AxisState ErrorID
ExtraData ActualPos ActualVel

Tipo di dati FB_AXIS_REF
BOOL BOOL
BOOL BOOL USINT UINT
UINT REAL REAL

Descrizione
L'ID asse logico è assegnato automaticamente da Connected Components Workbench. Non è possibile né modificarlo né visualizzarlo.
Indica se è presente un errore nell'asse di retroazione.
Indica se il movimento dell'asse di retroazione è a velocità costante o meno. Un asse fermo non è considerato in velocità costante. Indica se il movimento dell'asse di retroazione è in accelerazione o meno.
Indica se il movimento dell'asse di retroazione è in decelerazione o meno. Indica lo stato attuale dell'asse di retroazione. Specifica la causa di un errore dell'asse quando ErrorFlag indica un errore. L'errore in genere deriva da un problema nell'esecuzione del blocco funzione di controllo movimento. Riservato.
Lettura della posizione meccanica effettiva dal canale di retroazione movimento (HSC).
Lettura della velocità meccanica effettiva dal canale di retroazione movimento (HSC).

Vedere anche
Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426 Variabili dell'asse a pagina 434

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

433

Capitolo 18 Istruzioni di controllo del movimento

Variabili dell'asse

Le variabili dell'asse servono per controllare posizione, velocità, accelerazione ed errori per uno specifico asse di controllo movimento.

Assegnare una variabile a un parametro di output Axis
· In un diagramma a blocchi funzionali
Per comodità, connettere graficamente il parametro di output Axis di un blocco funzione per il controllo movimento al parametro di input AxisIn di un altro blocco funzione per il controllo movimento. Ad esempio, connettere il parametro di uscita MC_POWER Axis al parametro di ingresso MC_HOME AxisIn.
· In un ladder diagram
Non è possibile assegnare una variabile al parametro di output Axis di un blocco funzione per il controllo movimento in quanto è di sola lettura.

Monitorare una variabile AXIS_REF
Monitorare una variabile AXIS_REF o FBAXIS_REF nel software durante una connessione al controllore, quando il motore di movimento è attivo o nell'applicazione utente nell'ambito della logica utente. È possibile monitorare la variabile AXIS_REF o FBAXIS_REF anche da remoto tramite i diversi canali di comunicazione.

Vedere anche
Istruzioni di controllo del movimento a pagina 423

MC_AbortTrigger (trigger di interruzione del controllo movimento)

Interrompe i blocchi funzione Controllo assi collegati agli eventi di attivazione.
MC_AbortTrigger viene eseguito solo quando assegnato a un asse che viene controllato da MC_TouchProbe.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

434

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn
TriggerInp Execute ENO
Asse TriggerInput Finito Busy Errore ErrorID

Parametri Ingresso
Ingresso
Ingresso Ingresso Uscita
Uscita Uscita Uscita Uscita Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati BOOL

Descrizione
Abilitazione del blocco istruzione. TRUE: esegue il calcolo MC_AbortTrigger corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram.

AXIS_REF FB_AXIS_REF
USINT BOOL

Utilizzare il tipo di dati AXIS_REF per definire il parametro AxisIn. Se l'asse è un FB_Axis (asse di feedback), utilizzare il tipo di dati FB_AXIS_REF per definire i parametri di AxisIn. Questo parametro è ignorato.
Quando TRUE, interrompe l'evento di trigger durante il fronte di salita.

BOOL
AXIS_REF USINT BOOL BOOL BOOL UINT

Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. Questo parametro è ignorato.
TRUE: quando l'evento di trigger viene interrotto. TRUE il blocco funzione non è finito.
TRUE: è stato rilevato un errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

435

Capitolo 18

Istruzioni di controllo del movimento
Esempi di programmazione a blocchi funzionali MC_AbortTrigger

Esempio di diagramma ladder MC_AbortTrigger

Esempio di testo strutturato MC_AbortTrigger

436

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 18 Istruzioni di controllo del movimento

Vedere anche
Tipo di dati AXIS_REF a pagina 432 Tipo di dati FB_AXIS_REF a pagina 433 Regole generali per i blocchi funzione di controllo movimento a pagina 424 Istruzioni di controllo del movimento a pagina 423 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426

MC_Halt (halt di controllo movimento)

Comanda un arresto controllato del movimento in condizioni operative normali.
Dettagli operazioni:
· Lo stato dell'asse cambia a DiscreteMotion, fino a quando la velocità non è zero. Quando la velocità raggiunge lo zero, Done viene impostato su True e lo stato dell'asse cambia a StandStill.
· Durante la decelerazione dell'asse è possibile eseguire un altro comando di controllo assi che interrompe MC_Halt.
· Se MC_Halt viene rilasciato quando lo stato dell'asse è Homing, il blocco funzione riporta un errore e il processo di homing non viene interrotto.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

437

Capitolo 18

Istruzioni di controllo del movimento
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

EN
AxisIn Execute
Deceleration Jerk BufferMode ENO
Asse Finito Busy Attivo CommandAborted Errore
ErrorID

Tipo di parametro Ingresso
Ingresso Ingresso
Ingresso Ingresso Ingresso Uscita
Uscita Uscita Uscita Uscita Uscita Uscita
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.
Tipo di dati Descrizione

BOOL
AXIS_REF BOOL
REAL REAL SINT BOOL
AXIS_REF BOOL BOOL BOOL BOOL BOOL
UINT

Abilitazione del blocco istruzione. TRUE: esegue il calcolo di MC_Halt corrente. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Utilizzare i parametri del tipo di dati AXIS_REF per definire AxisIn.
Indica quando avviare il movimento. TRUE: avviare il movimento durante il fronte di salita. FALSE: non avviare il movimento. l'esecuzione di MC_Halt durante il ritorno in posizione iniziale, MC_Halt è impostato su MC_FB_ERR_STATE e il processo di ritorno in posizione iniziale continua. Valore della decelerazione (sempre positivo) (energia in riduzione del motore). se Deceleration <= 0 e lo stato dell'asse non è StandStill, MC_Halt è impostato su MC_FB_ERR_RANGE. Valore Jerk (sempre positivo). se Deceleration <= 0 e lo stato dell'asse è StandStill, MC_Halt è impostato su MC_FB_ERR_RANGE. Non utilizzato. La modalità è sempre MC_Aborting.
Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.
L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. Raggiungimento della velocità zero. Il blocco istruzione non è finito. Indica che il blocco istruzione ha il controllo sull'asse.
Il comando è interrotto da un altro comando o arresto di errore. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

438

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempio di programmazione a blocchi funzionali MC_Halt
Esempio di diagramma ladder MC_Halt

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

439

Capitolo 18

Istruzioni di controllo del movimento
Esempio di testo strutturato MC_Halt

Risultati

Vedere anche
Tipo di dati AXIS_REF a pagina 432 Regole generali per i blocchi funzione di controllo movimento a pagina 424 Istruzioni di controllo del movimento a pagina 423 ID errori del blocco funzione di controllo movimento a pagina 430 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426

MC_Home (home del controllo movimento)

Comanda l'asse per l'esecuzione della sequenza <search home>. I dettagli della sequenza dipendono dal produttore e possono essere impostati mediante i parametri degli assi. L'ingresso "Position" è usato per impostare la posizione assoluta quando viene rilevato un segnale di riferimento e raggiunto l'offset Azzeramento configurato.
Dettagli operazione:
· Dopo l'emissione di MC_Power, lo stato dell'asse Azzerato viene ripristinato a 0 (non azzerato). Nella maggior parte dei casi, dopo

440

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
che l'asse viene alimentato, il blocco funzione MC_Home deve essere eseguito per calibrare la posizione dell'asse e il riferimento di posizione iniziale. · Il blocco funzione MC_Home può essere interrotto solo usando i blocchi funzione MC_Stop o MC_Power. Se interrotto prima di essere completato, la posizione iniziale precedentemente cercata verrà considerata non valida e lo stato di posizione iniziale dell'asse sarà cancellato.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn Execute Position
HomingMode BufferMode ENO Asse

Tipo di parametro Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue il calcolo corrente MC_Home.

FALSE: il calcolo non avviene.

Applicabile solo alle programmazioni in Ladder Diagram.

Ingresso Ingresso Ingresso
Ingresso Ingresso Uscita Uscita

AXIS_REF BOOL REAL
SINT SINT BOOL AXIS_REF

Utilizzare i parametri del tipo di dati AXIS_REF per definire AxisIn.
Indica quando avviare il movimento. TRUE: avviare il movimento durante il fronte di salita. FALSE: non avviare il movimento. La posizione assoluta viene impostata quando viene rilevato il segnale di riferimento e raggiunto l'offset della posizione iniziale configurata. L'intervallo di valori per questo ingresso è -0x40000000 ­ 0x40000000 impulsi fisici, dopo che la posizione è convertita dall'unità di posizione utente all'impulso PTO. Impostare il valore del parametro Position entro Soft Limit. Un valore di ingresso non valido ha generato un errore. Error ID = MC_FB_ERR_PARAM.
Ingresso numerale per la modalità Homing.
Non utilizzato. La modalità è sempre mcAborting. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

441

Capitolo 18 Istruzioni di controllo del movimento

Parametro

Tipo di parametro Tipo di dati

Finito

Uscita

BOOL

Busy

Uscita

BOOL

Attivo

Uscita

BOOL

CommandAborted

Uscita

BOOL

Errore

Uscita

BOOL

ErrorID

Uscita

UNIT

Descrizione
TRUE: l'operazione di Homing è terminata con successo e lo stato dell'asse è impostato su Fermo. FALSE: l'operazione di Homing è in corso o è incompleta.
TRUE il blocco istruzione non è finito. FALSE: il blocco istruzione è completato. TRUE: indica che il blocco istruzione ha il controllo sull'asse. TRUE: il comando è stato interrotto da un altro comando, o da un arresto su errore. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

HomingModes

Utilizzare questa tabella per determinare i valori per il parametro HomingMode nell'istruzione di controllo movimento MC_Home.

Valore 0x00 0x01 0x02
0x03
0x04

Nome MC_HOME_ABS_SWITCH MC_HOME_LIMIT_SWITCH MC_HOME_REF_WITH_ABS
MC_HOME_REF_PULSE
MC_HOME_DIRECT

Descrizione
Processo Homing mediante ricerca dell'interruttore Home Absolute
Processo Homing mediante ricerca dell'interruttore limite
Processo Homing mediante ricerca dell'interruttore Home Absolute e uso dell'impulso di riferimento encoder
Processo Homing mediante ricerca dell'interruttore limite e uso dell'impulso di riferimento encoder
Processo Homing statico con forzatura diretta di una posizione iniziale da riferimento utente. Il blocco funzione imposterà la posizione corrente in cui si trova il meccanismo come posizione iniziale, con la sua posizione determinata dal parametro di ingresso "Position".

Esempi di programmazione a blocchi funzionali MC_Home

442

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18
Esempio di diagramma ladder MC_Home

Istruzioni di controllo del movimento

Esempio di testo strutturato MC_Home

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

443

Capitolo 18 Istruzioni di controllo del movimento
Risultati

Vedere anche
Tipo di dati AXIS_REF a pagina 432 Regole generali per i blocchi funzione di controllo movimento a pagina 424 Istruzioni di controllo del movimento a pagina 423 ID errori del blocco funzione di controllo movimento a pagina 430

444

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

MC_MoveAbsolute (movimento assoluto del controllo movimento)

Capitolo 18 Istruzioni di controllo del movimento
Determina un movimento controllato verso una posizione assoluta specificata.
Dettagli operazione:
· Per il controllore Micro800,
· il segno dell'ingresso Velocità per un blocco funzione MC_MoveAbsolute viene ignorato, in quanto la direzione del movimento è determinata dalla posizione corrente e dalla posizione di destinazione.
· L'ingresso Direzione per un blocco funzione MC_MoveAbsolute viene ignorato, in quanto esiste solo una soluzione matematica per raggiungere la posizione di destinazione.
· Se il blocco funzione MC_MoveAbsolute viene emesso quando lo stato dell'asse del controllore Micro800 è Fermo e la distanza relativa del movimento è zero, l'esecuzione del blocco funzione viene riportata immediatamente come Done.
· Se un blocco funzione MC_MoveAbsolute viene emesso per un asse che non si trova in posizione azzerata, il blocco funzione riporterà un errore.
· Il blocco funzione MoveAbsolute verrà completato con velocità zero se non viene interrotto da un altro blocco funzione.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

445

Capitolo 18 Istruzioni di controllo del movimento

Parametro EN

Tipo di parametro
Ingresso

Tipo di dati BOOL

Descrizione
Abilitazione del blocco istruzione. TRUE: esegue il calcolo corrente MC_MoveAbsolute. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram.

AxisIn Execute
Position

Ingresso Ingresso
Ingresso

AXIS_REF BOOL
REAL

Utilizzare i parametri del tipo di dati AXIS_REF per definire AxisIn.
Indica quando avviare il movimento. TRUE: avviare il movimento durante il fronte di salita. FALSE: non avviare il movimento. L'asse deve essere in posizione iniziale quando viene emesso il comando di esecuzione o quando si verifica un errore, MC_FB_ERR_NOT_HOMED. Posizione di destinazione per il movimento in unità tecnica (negativa o positiva). L'unità tecnica è definita nella pagina di configurazione Controllo assi - Generale per un asse.

Velocity
Acceleration Deceleration Jerk
Direzione BufferMode ENO Asse Finito
Busy Attivo CommandAborted Errore
ErrorID

Ingresso
Ingresso Ingresso Ingresso
Ingresso Ingresso Uscita Uscita Uscita
Uscita Uscita Uscita Uscita
Uscita

REAL
REAL REAL REAL
SINT SINT BOOL AXIS_REF BOOL
BOOL BOOL BOOL BOOL
UINT

Valore della velocità massima. La velocità massima non può essere raggiunta se Jerk = 0. Il segno del parametro di velocità è ignorato, la direzione del moto è determinata dal valore di ingresso Position.
Valore dell'accelerazione (sempre positiva - aumento dell'energia al motore). unità utente/sec2
Valore della decelerazione (sempre positiva - diminuzione dell'energia al motore). u/sec2 Valore Jerk (sempre positivo). u/sec3 quando il valore dello strappo in ingresso = 0, il profilo del Trapezoide è calcolato da Motion Engine. Quando Jerk > 0, viene calcolato il profilo S-Curve.
Questo parametro non è usato.
Questo parametro non è usato. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.
L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. Se TRUE, raggiunta posizione di comando. Quando il parametro di ingresso In-Position per questo asse è configurato su Attivato, l'unità deve impostare il segnale di ingresso In-Position come attivo prima che il bit Done diventi True. Questa azione termina con velocità zero, a meno che non sia interrotta.
Se TRUE, il blocco funzione non è terminato.
Se TRUE, indica che il blocco funzione ha il controllo dell'asse Se TRUE, il comando è stato interrotto da un altro comando, o da un arresto su errore.
Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

446

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempi di programmazione a blocchi funzionali MC_MoveAbsolute
Esempio di diagramma ladder MC_MoveAbsolute

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

447

Capitolo 18

Istruzioni di controllo del movimento
Esempio di testo strutturato MC_MoveAbsolute

Risultati

Vedere anche
Istruzioni di controllo del movimento a pagina 423 Informazioni generali sulle istruzioni di controllo movimento a pagina 426 Tipo di dati AXIS_REF a pagina 432 ID errori del blocco funzione di controllo movimento a pagina 430

MC_MoveRelative (movimento relativo del controllo movimento)

Determina un movimento controllato di una distanza specificata rispetto alla posizione attuale nel momento dell'esecuzione.
Dettagli operazione:
· Il segno della velocità viene ignorato, in quanto la direzione del movimento per MC_MoveRelative viene determinata dalla posizione corrente e dalla posizione di destinazione.
· MoveRelative viene completato con velocità zero, se non viene interrotto da un altro blocco funzione.
· Se viene emesso il comando MC_MoveRelative quando lo stato dell'asse del controllore Micro800 è Fermo e la distanza relativa

448

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
di movimento è zero, l'esecuzione del blocco funzione viene riportata immediatamente come Completata. · Per un controllore Micro800, il segno dell'ingresso Velocità per MC_MoveRelative viene ignorato, in quanto la direzione del movimento viene determinata dalla posizione corrente e dalla posizione di destinazione.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametri EN
AxisIn Execute
Distance Velocity
Acceleration Deceleration Jerk

Tipo di parametro Ingresso
Ingresso Ingresso
Ingresso Ingresso

Operazione MC_MoveRelative
Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.
Tipo di dati Descrizione

BOOL
AXIS_REF BOOL
REAL REAL

Abilitazione del blocco istruzione. TRUE: esegue il calcolo MC_MoveRelative corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram.
Utilizzare i parametri del tipo di dati AXIS_REF per definire AxisIn.
Indica quando avviare il movimento. TRUE: avviare il movimento durante il fronte di salita. FALSE: non avviare il movimento. Distanza relativa del movimento (in unità tecnica [u]). Valore della velocità massima (non necessariamente raggiunta) [u/s]. Dato che la direzione del moto è determinata dal valore del parametro Position, il segno di Velocity è ignorato dal blocco funzione. La velocità massima non può essere raggiunta se Jerk = 0.

Ingresso

REAL

Ingresso

REAL

Ingresso

REAL

Valore dell'accelerazione (aumento dell'energia al motore) [u/s2]
Valore della decelerazione (diminuzione dell'energia al motore) [u/s2] Valore del jerk [u/s3]

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

449

Capitolo 18 Parametri
BufferMode ENO

Istruzioni di controllo del movimento

Tipo di parametro
Ingresso

Tipo di dati SINT

Uscita

BOOL

Asse

Uscita

AXIS_REF

Finito

Uscita

BOOL

Busy

Uscita

BOOL

Attivo

Uscita

BOOL

CommandAborted

Uscita

BOOL

Errore

Uscita

BOOL

ErrorID

Uscita

UINT

Descrizione
Questo parametro non è usato.
Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. TRUE: raggiunta distanza comandata. Quando il parametro di ingresso In-Position per questo asse è abilitato, il segnale di ingresso In-Position deve essere impostato come attivo prima che Done = True.
TRUE il blocco istruzione non è finito. FALSE: il blocco istruzione è completato. TRUE: indica che il blocco istruzione ha il controllo sull'asse. TRUE: comando interrotto da un altro comando o da Arresto errore. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore.
Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

Esempi di programmazione a blocchi funzionali MC_MoveRelative

450

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempio di diagramma ladder MC_MoveRelative

Esempio di testo strutturato MC_MoveRelative

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

451

Capitolo 18

Istruzioni di controllo del movimento
Risultati

Vedere anche
Tipo di dati AXIS_REF a pagina 432 Regole generali per i blocchi funzione di controllo movimento a pagina 424 Istruzioni di controllo del movimento a pagina 423 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426 ID errori del blocco funzione di controllo movimento a pagina 430

452

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

MC_MoveVelocity (velocità di movimento del controllo movimento)

Capitolo 18 Istruzioni di controllo del movimento
Determina un movimento controllato infinito a una velocità specificata.
Dettagli operazione:
· Se l'ingresso DirectionIn per MC_MoveVelocity è uguale a 0 e:
· l'asse è in uno stato di movimento, il segno dell'ingresso Velocità viene ignorato, l'asse continua a muoversi nell'attuale direzione di movimento e vengono applicati i nuovi parametri dinamici.
· L'asse non è in uno stato di movimento, MC_MoveVolecity riporta un errore.
· Se durante l'esecuzione di MC_MoveVelocity viene raggiunto il limite di Impulso PTO, il valore Accumulatore PTO viene riportato a 0 (o, se è attivato il limite, al limite software opposto) e l'esecuzione continua.
· Se l'asse è in stato di movimento e MC_MoveVelocity invia un movimento per cui la direzione (segno di velocità * direzione) è opposta all'attuale direzione di movimento, MC_MoveVelocity riporterà un errore.
· Una volta impostato, il segnale "InVelocity" indica che MC_MoveVelocity è stato completato. Qualsiasi evento di movimento successivo non avrà effetto sulle uscite MC_MoveVelocity, ad eccezione del segnale "InVelocity".
· L'uscita InVelocity di MC_MoveVelocity resta True dopo che la velocità dell'asse raggiunge la velocità comandata o finché il MC_MoveVelocity non viene interrotto.
· Il segno di (Velocità * Direzione) determina la direzione del movimento di MC_MoveVelocity. Se il segno di Velocità e il segno di Direzione sono uguali, viene emesso un movimento positivo. Se il segno di Velocità e Direzione non sono uguali, viene emesso un movimento negativo.
· Il segnale "InVelocity" viene reimpostato quando MC_MoveVelocity viene interrotto da un altro blocco funzione o evento di movimento o sul fronte di discesa di "Esegui".
· Per arrestare o modificare il controllo assi iniziato da MC_MoveVelocity, il blocco istruzione deve essere interrotto o arrestato da un altro blocco istruzione, inclusa la ripetizione dell'esecuzione di MC_MoveVelocity con parametri differenti.
· Se MC_MoveVelocity viene emesso con l'asse in stato Fermo (non controllato da un altro blocco funzione) e si verifica un errore nel blocco funzione, lo stato dell'asse passa a ErrorStop.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

453

Capitolo 18

Istruzioni di controllo del movimento
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro
EN
AxisIn Execute
Velocity Acceleration Deceleration Jerk DirectionIn BufferMode ENO
Asse InVelocity Busy
Attivo Direzione CommandAborted Errore
ErrorID

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Ingresso

Tipo di dati BOOL

Ingresso Ingresso

AXIS_REF BOOL

Ingresso Ingresso Ingresso Ingresso Ingresso Ingresso Uscita
Uscita Uscita Uscita
Uscita Uscita Uscita Uscita

REAL REAL REAL REAL SINT SINT BOOL
AXIS_REF BOOL BOOL
BOOL SINT BOOL BOOL

Uscita

UINT

Descrizione
Abilitazione del blocco istruzione. TRUE: esegue il calcolo MC_MoveVelocity corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Utilizzare i parametri del tipo di dati AXIS_REF per definire AxisIn. Indica quando avviare il movimento. TRUE: avviare il movimento durante il fronte di salita. FALSE: non avviare il movimento. Valore della velocità massima [u/s].
Valore dell'accelerazione (aumento dell'energia al motore) [u/s2] Valore della decelerazione (diminuzione dell'energia al motore) [u/s2] Valore del jerk [u/s3] I valori validi sono: -1, 0, 1. Questo parametro non è usato.
Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. TRUE: è stata raggiunta la velocità comandata (prima volta). TRUE il blocco istruzione non è finito. FALSE: il blocco istruzione è completato. TRUE: indica che il blocco funzione ha il controllo sull'asse. I valori validi sono: -1, 0, 1. TRUE: comando interrotto da un altro comando o da Arresto errore. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

454

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempi di programmazione a blocchi funzionali MC_MoveVelocity
Esempio di diagramma ladder MC_MoveVelocity

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

455

Capitolo 18

Istruzioni di controllo del movimento
Esempio di testo strutturato MC_MoveVelocity

Risultati

Vedere anche
Tipo di dati AXIS_REF a pagina 432 Regole generali per i blocchi funzione di controllo movimento a pagina 424

456

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Istruzioni di controllo del movimento a pagina 423
Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426
ID errori del blocco funzione di controllo movimento a pagina 430

MC_Power (potenza del controllo movimento)

Controlla lo stato di alimentazione, ON o OFF.
Dettagli operazione:
· Se si importa un progetto creato in CCW 7 in CCW 8, viene visualizzato il nuovo parametro di input Mc_Power chiamato __DTI_AxisIn. Se si verifica un errore di compilazione, riselezionare le istruzioni e ricompilare.
· Dopo che l'asse è stato acceso, lo stato dell'asse Azzerato viene ripristinato a 0 (non azzerato).
· Gli ingressi Enable_Positive ed Enable_Negative per MC_Power sono entrambi attivati su livello e vengono controllati quando l'ingresso di abilitazione passa da OFF a ON. Il passaggio in movimento dell'ingresso Enable_Positive e dell'ingresso Enable_Negative senza attivazione/disattivazione di Abilita ingresso, non è controllato.
· Se si verifica un errore di alimentazione durante il funzionamento (quando viene rilevato Servo pronto), lo stato dell'asse passa a ErrorStop.
· L'istruzione MC_Power ha un valore di timeout di 2 minuti. MC_Power restituisce un errore quando l'intervallo di timeout scade e l'ingresso pronto servomotore è FALSE.
· Se il blocco funzione MC_Power con abilitazione impostata su True viene richiamato mentre lo stato dell'asse è Disabled, lo stato dell'asse passa a Fermo in assenza di errori rilevati, altrimenti lo stato dell'asse passa a ErrorStop in caso di errore.
· Deve essere emesso un solo blocco di funzione MC_Power per asse. L'uso di un differente blocco funzione MC_ Power per controllare contemporaneamente lo stesso asse viene rifiutato da Motore movimento.
· In presenza di un commutatore di stato accensione o spegnimento per un asse, la posizione assoluta dell'asse non viene reimpostata.
· Se viene richiamato il blocco funzione MC_Power con Enable impostato su False, lo stato dell'asse passa a Disabled per ogni stato, incluso ErrorStop.
· Il blocco funzione MC_Power può accendersi sull'asse se Enable è impostato su True e spegnere l'asse se Enable è impostato su False.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

457

Capitolo 18

Istruzioni di controllo del movimento
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn Enable Enable_Positive Enable_Negative ENO Asse Stato
Busy Attivo Errore
ErrorID

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Ingresso

Tipo di dati BOOL

Descrizione
Abilitazione del blocco istruzione. TRUE: esegue il calcolo corrente MC_Power. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram.

Ingresso
Ingresso Ingresso Ingresso Uscita Uscita Uscita
Uscita Uscita Uscita
Uscita

AXIS_REF FB_AXIS_REF BOOL BOOL BOOL BOOL AXIS_REF BOOL
BOOL BOOL BOOL
UINT

Utilizzare i parametri del tipo di dati AXIS_REF per definire AxisIn. Per un FB_Axis (asse di feedback), utilizzare il tipo di dati FB_AXIS_REF per definire AxisIn.
TRUE: l'alimentazione è ON. FALSE: l'alimentazione è OFF TRUE: il controllo assi è consentito nella direzione positiva.
TRUE: il controllo assi è consentito nella direzione negativa. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. Tipo di dati AXIS_REF. Stato dello stadio di alimentazione: · TRUE: è stata effettuata l'accensione dell'unità. · FALSE: l'accensione dell'unità non è stata eseguita. TRUE il blocco istruzione non è finito. FALSE: il blocco istruzione è completato. TRUE: indica che il blocco funzione ha il controllo sull'asse. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

458

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempio di diagramma Blocco funzione MC_Power
Esempio di diagramma ladder MC_Power

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

459

Capitolo 18

Istruzioni di controllo del movimento
Esempio di testo strutturato MC_Power

Risultati

Vedere anche
Istruzioni di controllo del movimento a pagina 423 Regole generali per i blocchi funzione di controllo movimento a pagina 424 ID errori del blocco funzione di controllo movimento a pagina 430 Tipo di dati AXIS_REF a pagina 432 Tipo di dati FB_AXIS_REF a pagina 433

MC_ReadActualPosition (posizione effettiva di lettura del controllo movimento)

Restituisce la posizione effettiva dell'asse di feedback. MC_ReadActualPosition è applicabile solo al movimento di retroazione.
Dettagli operazione:
· Prima di eseguire MC_ReadActualPosition, verificare l'asse in uno dei seguenti stati dell'asse:
· Disattivato · Fermo · Movimento discreto · Arresto errore

460

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
· La posizione effettiva per un asse di feedback non viene reimpostata su 0 dopo un download. Per eseguire il reset o cancellare la posizione per un asse di feedback, utilizzare l'istruzione MC_Home o l'istruzione MC_SetPosition.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro AxisIn Enable Asse Valid Busy Errore
ErrorID Position

Tipo di parametro Ingresso Ingresso Uscita
Uscita Uscita Uscita
Uscita
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

FB_AXIS_REF BOOL FB_AXIS_REF BOOL BOOL BOOL
UNIT REAL

Per un FB_Axis (asse di feedback), utilizzare il tipo di dati FB_AXIS_REF per definire AxisIn.
TRUE: ottenere continuamente il valore del parametro quando abilitato. FALSE: non attivo. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. I parametri di uscita dell'asse sono definiti nel tipo di dati FB_AXIS_REF.
TRUE: il blocco istruzione è attivo e sono previsti nuovi valori in uscita. FALSE: il blocco istruzione non è attivo. TRUE il blocco istruzione non è finito. FALSE: il blocco istruzione è completato. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.
Valore della posizione assoluta effettiva per l'asse di movimento di retroazione (in unità dell'asse [u]).

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

461

Capitolo 18

Istruzioni di controllo del movimento
Esempio di Programmazione a blocchi funzionali MC_ReadActualPosition

Esempio di Diagramma ladder MC_ReadActualPosition

Esempio di Testo strutturato MC_ReadActualPosition

462

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 18 Istruzioni di controllo del movimento

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

463

Capitolo 18

Istruzioni di controllo del movimento
Vedere anche
Tipo di dati FB_AXIS_REF a pagina 433 Regole generali per i blocchi funzione di controllo movimento a pagina 424 Istruzioni di controllo del movimento a pagina 423 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426 ID errori del blocco funzione di controllo movimento a pagina 430

MC_ReadActualVelocity (velocità effettiva di lettura del controllo movimento)

Restituisce il valore della velocità corrente dell'asse di feedback.
MC_ReadActualVelocity è applicabile solo al movimento di retroazione.
Prima di eseguire MC_ReadActualVelocity, verificare l'asse in uno dei seguenti stati dell'asse:

· Fermo · Movimento discreto · Arresto errore

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro AxisIn Enable
Asse

Tipo di parametro Ingresso Ingresso
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

FB_AXIS_REF BOOL
FB_AXIS_REF

Per un FB_Axis (asse di feedback), utilizzare il tipo di dati FB_AXIS_REF per definire AxisIn.
TRUE: ottiene continuamente il valore per la velocità effettiva. FALSE: i dati non sono più validi, tutte le uscite vengono ripristinate su 0 e il parametro Valid viene impostato su False. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. I parametri di uscita dell'asse sono definiti nel tipo di dati FB_AXIS_REF.

464

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro Valid Busy Errore

Tipo di parametro Uscita
Uscita
Uscita

Tipo di dati BOOL BOOL BOOL

ErrorID

Uscita

UNIT

ActualVelocity

Uscita

REAL

Descrizione

Capitolo 18 Istruzioni di controllo del movimento

TRUE: il blocco funzione è attivo e sono previsti nuovi valori in uscita. FALSE: la funzione non prevede nuovi valori in uscita. TRUE il blocco funzione non è finito. FALSE: la funzione non è attiva. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

Il valore della velocità effettiva per l'asse Motion feedback (in unità dell'asse [u/s]). ActualVelocity è un valore con segno, che include le informazioni di direzione.

Esempio di Programmazione a blocchi funzionali MC_ReadActualVelocity

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

465

Capitolo 18

Istruzioni di controllo del movimento
Esempio di Diagramma ladder MC_ReadActualVelocity

Esempio di Testo strutturato MC_ReadActualVelocity

466

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 18 Istruzioni di controllo del movimento

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

467

Capitolo 18

Istruzioni di controllo del movimento
Vedere anche
Tipo di dati FB_AXIS_REF a pagina 433 Regole generali per i blocchi funzione di controllo movimento a pagina 424 Istruzioni di controllo del movimento a pagina 423 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426 ID errori del blocco funzione di controllo movimento a pagina 430

MC_ReadAxisError (errore dell'asse di lettura del controllo movimento)

Legge gli errori dell'asse non in relazione ai blocchi funzione Controllo movimento.
Quando un asse è in stato Disabilitato, MC_ReadAxisError può ottenere o meno un ID errore diverso da zero per l'asse, in quanto un asse Disabilitato può contenere o meno errori.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn Enable ENO 468

Tipo di parametro Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue il calcolo corrente MC_ReadAxisError.

FALSE: Error, ErrorID e AxisErrorID vengono ripristinati su False (o 0).

Applicabile solo alle programmazioni LD.

Ingresso Ingresso Uscita

AXIS_REF FB_AXIS_REF BOOL
BOOL

Utilizzare i parametri del tipo di dati AXIS_REF per definire AxisIn. Per un FB_Axis (asse di feedback), utilizzare il tipo di dati FB_AXIS_REF per definire AxisIn. TRUE: ottenere continuamente il valore del parametro quando abilitato. FALSE: reimposta Error, ErrorID, e AxisErrorID uscite su 0. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro Asse Valid Busy Errore
ErrorID AxisErrorID

Tipo di parametro
Uscita

Tipo di dati AXIS_REF

Uscita

BOOL

Uscita

BOOL

Uscita

BOOL

Uscita

UINT

Uscita

UINT

Descrizione

Capitolo 18 Istruzioni di controllo del movimento

L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. I parametri di uscita dell'asse sono definiti nel tipo di dati FB_AXIS_REF.
TRUE: il blocco istruzione è attivo e sono previsti nuovi valori in uscita. FALSE: il blocco istruzione non è attivo.
TRUE il blocco istruzione non è finito. FALSE: il blocco istruzione è completato. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

Numero univoco che identifica l'errore dell'asse. Gli errori per questa istruzione sono definiti nei codici di errore AxisErrorID.

Esempio di Programmazione a blocchi funzionali MC_ReadAxisError

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

469

Capitolo 18

Istruzioni di controllo del movimento
Esempio di Diagramma ladder MC_ReadAxisError

Esempio di Testo strutturato MC_ReadAxisError

Risultati

470

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Vedere anche

Capitolo 18 Istruzioni di controllo del movimento

Tipo di dati AXIS_REF a pagina 432 Codici di errore AxisErrorID a pagina 471 Tipo di dati FB_AXIS_REF a pagina 433 Istruzioni di controllo del movimento a pagina 423 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426

Codici di errore AxisErrorID Nella seguente tabella sono descritti i codici di errore degli assi
identificati in AxisErrorID per MC_ReadAxisError.

Valore ID MACRO

Descrizione

00

MC_FB_ERR_

NO

L'asse è in stato operativo (nulla da visualizzare).

01

MC_FB_ERR_

WRONG_STATE

02

MC_FB_ERR_

RANGE

L'asse non funziona a causa di uno stato dell'asse non corretto rilevato durante l'esecuzione di un blocco funzione. Ripristinare lo stato dell'asse utilizzando i blocchi funzione MC_Reset e MC_Power.
L'asse non funziona a causa di un parametro dinamico dell'asse non valido (velocità, accelerazione, decelerazione o strappo), impostato in un blocco funzione. Ripristinare lo stato dell'asse utilizzando i blocchi funzione MC_Reset e MC_Power. Nel blocco funzione correggere tutte le impostazioni dei parametri dinamici in conflitto con le impostazioni della pagina di configurazione Dinamica asse.

03

MC_FB_ERR_

PARAM

L'asse non funziona a causa di un parametro non valido (diverso da velocità, accelerazione, decelerazione o strappo), impostato in un blocco funzione. Ripristinare lo stato dell'asse utilizzando i blocchi funzione MC_Reset e MC_Power. Nel blocco funzione, correggere le impostazioni dei parametri, come modalità o posizione.

04

MC_FB_ERR_

AXISNUM

05

MC_FB_ERR_

MECHAN

06

MC_FB_ERR_

NOPOWER

07

MC_FB_ERR_

RESOURCE

Errore interno movimento, ID errore = 0x04. Contattare il rappresentante del supporto tecnico di zona di Rockwell Automation. Per le informazioni sui contatti, visitare: http://www.rockwellautomation.com/support
L'asse non funziona perché è stato rilevato un problema all'unità o meccanico. Controllare il collegamento tra unità e controllore (segnali Pronto unità e In posizione), quindi verificare che l'unità funzioni normalmente. Ripristinare lo stato dell'asse utilizzando i blocchi funzione MC_Reset e MC_Power.
L'asse non è alimentato. Alimentare l'asse con il blocco funzione MC_Power. Ripristinare lo stato dell'asse utilizzando il blocco funzione MC_Reset.
L'asse non funziona in quanto esso o la risorsa relativa richiesta dal blocco funzione sono sotto controllo di un altro blocco funzione, o non disponibili. Verificare che l'asse o la relativa risorsa richiesta dal blocco funzione sia disponibile per l'uso. Ripristinare lo stato dell'asse utilizzando i blocchi funzione MC_Reset e MC_Power. Riesaminare e correggere l'applicazione in caso di istanze multiple dello stesso blocco funzione che tentano di controllare l'asse contemporaneamente.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

471

Capitolo 18

Istruzioni di controllo del movimento Valore ID MACRO

08

MC_FB_ERR_

PROFILE

09

MC_FB_ERR_

VELOCITY

10

MC_FB_ERR_

SOFT_LIMIT

11

MC_FB_ERR_

HARD_LIMIT

12

MC_FB_ERR_

LOG_LIMIT

13

MC_FB_ERR_

ERR_ENGINE

16

MC_FB_ERR_

NOT_HOMED

128

MC_FB_ERR_

PARAM_MODIFIED

Descrizione
L'asse non funziona in quanto un profilo di movimento definito in un blocco funzione non è valido. Ripristinare lo stato dell'asse utilizzando i blocchi funzione MC_Reset e MC_Power. Correggere il profilo nel blocco funzione.
L'asse non funziona in quanto un profilo di movimento richiesto in un blocco funzione è in conflitto con la velocità corrente dell'asse. Possibili cause: · Il blocco funzione richiede che l'asse inverta la direzione mentre l'asse è in movimento. · La velocità corrente è troppo bassa o troppo alta per il profilo di movimento richiesto. Ripristinare lo stato dell'asse utilizzando i blocchi funzione MC_Reset e MC_Power. Correggere il profilo di movimento nel blocco funzione o rieseguire il blocco funzione quando la velocità dell'asse è compatibile con il profilo di movimento richiesto.
L'asse non funziona per via di un errore di limite software rilevato o per un errore di limite software causato dall'esecuzione del blocco funzione. Ripristinare lo stato dell'asse utilizzando i blocchi funzione MC_Reset e MC_Power. Controllare le impostazioni di velocità o posizione destinazione per il blocco funzione, oppure regolare il Limite software.
L'asse non funziona a causa del rilevamento di un errore Limite hardware. Reimpostare lo stato dell'asse utilizzando il blocco funzione MC_Reset, quindi spostare l'asse dall'interruttore Limite hardware in direzione opposta.
L'asse non funziona per via di un errore limite logico dell'accumulatore PTO rilevato o per un errore di limite logico dell'accumulatore PTO causato dall'esecuzione del blocco funzione. Ripristinare lo stato dell'asse utilizzando i blocchi funzione MC_Reset e MC_Power. Controllare le impostazioni di velocità o posizione destinazione per il blocco funzione. Utilizzare il blocco funzione MC_SetPosition per regolare il sistema di coordinate dell'asse.
L'asse non funziona in seguito al rilevamento di un errore di esecuzione del motore di movimento. Eseguire il ciclo di alimentazione dell'intera macchina e scaricare nuovamente l'applicazione utente nel controllore. Se l'errore persiste, contattare il rappresentante di assistenza tecnica di zona di Rockwell Automation. Per le informazioni sui contatti, visitare: http://www.rockwellautomation.com/support.
L'asse non funziona in quanto l'asse non è in sede. Ripristinare lo stato dell'asse utilizzando i blocchi funzione MC_Reset e MC_Power. Riposizionare nuovamente l'asse in sede usando il blocco funzione MC_Home. Avviso interno movimento, ID avviso = 0x80. Contattare il rappresentante del supporto tecnico di zona di Rockwell Automation. Per le informazioni sui contatti, visitare: http://www.rockwellautomation.com/support.

Vedere anche
MC_ReadAxisError a pagina 468

472

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

MC_ReadBoolParameter (parametro BOOL di lettura del controllo movimento)

Capitolo 18 Istruzioni di controllo del movimento
Restituisce il valore di un parametro specifico del fornitore di tipo BOOL.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn Enable ParameterNumber ENO Asse Valid Busy
Errore ErrorID Valore

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro
Ingresso

Tipo di dati BOOL

Descrizione
Abilitazione del blocco istruzione. TRUE: esegue il calcolo MC_ReadBoolParameter corrente. FALSE: ripristina l'uscita del valore su 0. Applicabile solo alle programmazioni in Ladder Diagram.

Ingresso Ingresso Ingresso
Uscita Uscita Uscita Uscita

AXIS_REF FB_AXIS_REF BOOL
DINT
BOOL
AXIS_REF BOOL
BOOL

Utilizzare il tipo di dati AXIS_REF per definire AxisIn. Per FB_Axis (asse di feedback), utilizzare il tipo di dati FB_AXIS_REF per definire AxisIn. TRUE: ottenere continuamente il valore del parametro quando abilitato. FALSE: l'uscita del valore viene ripristinata su 0. Identificazione del parametro. Le definizioni dei numeri di parametro sono definite nei numeri dei parametri del blocco funzione Controllo movimento. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. TRUE: il valore del parametro è disponibile. FALSE: il valore del parametro non è disponibile. TRUE: il blocco funzione è operativo e sono previsti nuovi valori in uscita. FALSE: la funzione non è attiva.

Uscita

BOOL

Uscita

UINT

Uscita

BOOL

Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.
Valore del parametro specificato nel tipo di dato, come specificato dal fornitore.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

473

Capitolo 18

Istruzioni di controllo del movimento
Esempio di Programmazione a blocchi funzionali MC_ReadBoolParameter

Esempio di Diagramma ladder MC_ReadBoolParameter

Esempio di Testo strutturato MC_ReadBoolParameter

474

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 18 Istruzioni di controllo del movimento

Vedere anche
Tipo di dati AXIS_REF a pagina 432 Tipo di dati FB_AXIS_REF a pagina 433 Regole generali per i blocchi funzione di controllo movimento a pagina 424 Istruzioni di controllo del movimento a pagina 423

MC_ReadParameter (parametro di lettura del controllo movimento)

Restituisce il valore di un parametro specifico del fornitore in un tipo Real.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

475

Capitolo 18

Istruzioni di controllo del movimento
Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Parametro EN

Tipo di parametro Ingresso

Tipo di dati BOOL

Descrizione
Abilitazione del blocco istruzione. TRUE: esegue il calcolo MC_ReadParameter corrente. FALSE: l'uscita del valore viene ripristinata su 0. Applicabile solo alle programmazioni in Ladder Diagram.

AxisIn Enable ParameterNumber

Ingresso Ingresso Ingresso

ENO Asse Valid Busy Errore

Uscita Uscita Uscita Uscita Uscita

ErrorID Valore

Uscita Uscita

AXIS_REF FB_AXIS_REF BOOL DINT
BOOL AXIS_REF BOOL BOOL BOOL
UINT REAL

Utilizzare il tipo di dati AXIS_REF per definire AxisIn. Per FB_Axis (asse di feedback), utilizzare il tipo di dati FB_AXIS_REF per definire AxisIn. TRUE: ottenere il valore del numero del parametro in modo continuo. FALSE: l'uscita del valore viene ripristinata su 0. Identificazione del parametro. Le definizioni dei numeri di parametro sono definite nei numeri dei parametri del blocco funzione Controllo movimento. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. TRUE: sono disponibili valori validi in uscita. FALSE: non sono disponibili valori validi in uscita. TRUE: il blocco funzione è operativo e sono previsti nuovi valori in uscita. FALSE: il blocco funzione non è attivo. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento. Valore del parametro specificato nel tipo di dato, come specificato dal fornitore.

Esempio di Programmazione a blocchi funzionali MC_ReadParameter

476

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempio di Diagramma ladder MC_ReadParameter

Esempio di Testo strutturato MC_ReadParameter Risultati

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

477

Capitolo 18

Istruzioni di controllo del movimento
Vedere anche
Tipo di dati AXIS_REF a pagina 432 Tipo di dati FB_AXIS_REF a pagina 433 Regole generali per i blocchi funzione di controllo movimento a pagina 424 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426 Istruzioni di controllo del movimento a pagina 423

MC_ReadStatus (stato di lettura del controllo movimento)

Restituisce lo stato dell'asse rispetto al movimento attualmente in corso.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

478

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn Enable ENO Asse Valid Busy

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL
AXIS_REF FB_AXIS_REF BOOL BOOL AXIS_REF BOOL BOOL

Abilitazione del blocco istruzione. TRUE: esegue il calcolo MC_ReadStatus corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram. Utilizzare i parametri del tipo di dati AXIS_REF per definire AxisIn. Per un FB_Axis (asse di feedback), utilizzare il tipo di dati FB_AXIS_REF per definire AxisIn. TRUE: ottiene continuamente lo stato dell'asse. FALSE: tutte le uscite dello stato sono ripristinate su 0. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. TRUE: sono disponibili valori validi in uscita. FALSE: uscite non disponibili. TRUE: il blocco funzione è operativo e sono previsti nuovi valori in uscita. FALSE: il blocco funzione non è attivo.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

479

Capitolo 18 Istruzioni di controllo del movimento

Parametro Errore

Tipo di parametro
Uscita

Tipo di dati BOOL

ErrorID ErrorStop

Uscita

UINT

Uscita

BOOL

Disattivato Arresto in corso Referenced

Uscita

BOOL

Uscita

BOOL

Uscita

BOOL

StandStill

Uscita

BOOL

DiscreteMotion

Uscita

BOOL

ContinuousMotion

Uscita

BOOL

SynchronizedMotion

Uscita

BOOL

Azzeramento ConstantVelocity
In accelerazione In decelerazione

Uscita

BOOL

Uscita

BOOL

Uscita

BOOL

Uscita

BOOL

Descrizione
Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.
TRUE: lo stato dell'asse è ErrorStop. Gli stati dell'asse sono definiti nei nomi e nei valori di stato dell'asse controllo movimento.
TRUE: lo stato dell'asse è Disabilitato. TRUE: lo stato dell'asse è Arresto. TRUE: lo stato dell'asse è in sede, la posizione del riferimento assoluto è nota per l'asse.
TRUE: lo stato dell'asse è Fermo. TRUE: lo stato dell'asse è DiscreteMotion. TRUE: lo stato dell'asse è ContinuousMotion. Il movimento sincronizzato non è supportato dai controllori Micro800. TRUE: mai true. FALSE: sempre false. TRUE: lo stato dell'asse è Homing. TRUE: la velocità del motore è costante. TRUE: l'asse è in accelerazione, aumento dell'energia al motore. TRUE: l'asse è in decelerazione, diminuzione dell'energia al motore.

480

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempio di Programmazione a blocchi funzionali MC_ReadStatus

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

481

Capitolo 18

Istruzioni di controllo del movimento
Esempio di Diagramma ladder MC_ReadStatus

482

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempio di Testo strutturato MC_ReadStatus

Risultati

Vedere anche
Tipo di dati AXIS_REF a pagina 432 Tipo di dati FB_AXIS_REF a pagina 433 Regole generali per i blocchi funzione di controllo movimento a pagina 424 Istruzioni di controllo del movimento a pagina 423 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

483

Capitolo 18 Istruzioni di controllo del movimento

MC_Reset (reset del controllo movimento)

Trasforma lo stato dell'asse da ErrorStop a StandStill ripristinando tutti gli errori interni legati all'asse. Le uscite delle istanze del blocco di funzione non vengono cambiate.

Dettagli operazione:

· Se lo stato di allarme dell'asse non è stato modificato dopo aver eseguito MC_Reset, eseguire MC_Power quindi MC_Reset.
· MC_Reset ripristina solo lo stato dell'asse da ErrorStop a Fermo. L'esecuzione di MC_Reset quando l'asse è in altri stati, incluso Disabilitato, comporta un errore e non influisce sul movimento in corso o sullo stato dell'asse.

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn Execute ENO Asse Finito Busy Errore
ErrorID

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita Uscita Uscita Uscita
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue il calcolo MC_Reset corrente.

FALSE: il calcolo non viene eseguito.

Applicabile solo alle programmazioni in Ladder Diagram.

AXIS_REF FB_AXIS_REF BOOL BOOL
AXIS_REF BOOL BOOL BOOL
UINT

Utilizzare il tipo di dati AXIS_REF per definire AxisIn. Per FB_Axis (asse di feedback), utilizzare il tipo di dati FB_AXIS_REF per definire AxisIn. TRUE: ripristina l'asse al fronte di salita.
Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. TRUE: lo stato dell'asse è Fermo o Disabilitato.
TRUE il blocco funzione non è finito. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

484

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempio di Programmazione a blocchi funzionali MC_Reset
Esempio di Diagramma ladder MC_Reset

Esempio di Testo strutturato MC_Reset

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

485

Capitolo 18

Istruzioni di controllo del movimento
Risultati

Vedere anche
Regole generali per i blocchi funzione di controllo movimento a pagina 424
Istruzioni di controllo del movimento a pagina 423
ID errori del blocco funzione di controllo movimento a pagina 430
Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426

MC_SetPosition (posizione impostazione del controllo movimento)

Sposta il sistema di coordinate di un asse modificando la relativa posizione effettiva con lo stesso valore, senza causare alcun movimento.
Dettagli operazione:
· MC_SetPosition può essere completato correttamente solo quando lo stato dell'asse è Fermo, Movimento continuo (MC_ExecutionMode = 0) o quando il movimento in corso viene completato e termina con lo stato Fermo (MC_ExecutionMode = 1).
· MC_SetPosition opera allo stesso modo di MC_Home quando HomingMode = MC_HOME_DIRECT (0x04), ad eccezione del fatto che il blocco funzione MC_Home imposta lo stato dell'asse su Azzerato.
· Quando MC_ExecutionMode = 0 (mcImmediately), l'esecuzione del blocco di funzione MC_SetPosition riporterà un errore in caso di movimento in corso non continuo dell'asse.
· Quando MC_ExecutionMode = 1 (mcQueued), l'impostazione della posizione corrente si verifica solo quando tutto il movimento precedente che è in corso si arresta. Ovvero, ciascun blocco funzione deve avere almeno una delle uscite Done, Aborted, o Error uguale a True.

486

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn Execute Position Relative MC_ExecutionMode
ENO Asse Finito Busy

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Ingresso

Tipo di dati BOOL

Descrizione
Abilitazione del blocco istruzione. TRUE: esegue il calcolo MC_SetPosition corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram.

Ingresso
Ingresso Ingresso Ingresso Ingresso

AXIS_REF FB_AXIS_REF
BOOL REAL BOOL
SINT

Utilizzare il tipo di dati AXIS_REF per definire AxisIn. Per FB_Axis (asse di feedback), utilizzare il tipo di dati FB_AXIS_REF per definire AxisIn.
TRUE: avvia l'impostazione della posizione dell'asse.
La posizione assoluta o la distanza relativa da impostare per l'asse.
TRUE: imposta la distanza relativa per l'asse. FALSE: imposta la posizione assoluta per l'asse.
I valori sono: · 0 (mcImmediately) - la funzionalità è immediatamente valida. · 1 (mcQueued) - la nuova funzionalità diventa valida quando:
· tutti i comandi di movimento precedenti vengono impostati su uno dei seguenti parametri di uscita: Done, Aborted o Error.
· l'asse non è in uno stato di movimento. Per (MC_ExecutionMode = 0), questo blocco funzione può essere completato con successo quando lo stato dell'asse è Disabilitato o Fermo. L'esecuzione di questo blocco funzione riporterà un errore in caso di movimento in corso non continuo con l'asse in questa modalità. Per (MC_ExecutionMode = 1), questo blocco di funzione può essere completato correttamente quando lo stato dell'asse è Disabilitato, Fermo o il movimento in corso può essere completato terminando con lo stato Fermo. Al momento gli altri valori di ingresso sono riservati e pertanto considerati come parametri non validi.

Uscita
Uscita Uscita Uscita

BOOL
AXIS_REF BOOL BOOL

Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. TRUE: la posizione ha un nuovo valore. TRUE il blocco funzione non è finito.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

487

Capitolo 18

Istruzioni di controllo del movimento

Parametro Errore

Tipo di parametro
Uscita

Tipo di dati BOOL

ErrorID

Uscita

UINT

Descrizione
Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

Esempio di Programmazione a blocchi funzionali MC_SetPosition

Esempio di Diagramma ladder MC_SetPosition

488

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempio di Testo strutturato MC_SetPosition
Risultati

Vedere anche
Regole generali per i blocchi funzione di controllo movimento a pagina 424
ID errori del blocco funzione di controllo movimento a pagina 430
Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426
Istruzioni di controllo del movimento a pagina 423

MC_Stop (arresto del controllo movimento)

Comanda un arresto di movimento controllato e trasferisce lo stato dell'asse su Arresto in corso. Tutti gli eventuali blocchi di funzione in esecuzione vengono interrotti. I comandi di movimento dei blocchi di funzione vengono tutti ignorati fino a che lo stato dell'asse non passa a StandStill.
Dettagli operazione:
· Fin quando l'ingresso Execute è alto, l'asse rimane nello stato di Stopping. Mentre l'asse è nello stato Arresto, nessun altro blocco funzione di movimento può eseguire un movimento sullo stesso asse.
· Se Decelerazione è uguale a zero, i parametri MC_Stop vengono determinati dall'impostazione Arresto di emergenza della configurazione dell'asse, incluso tipo E-Stop, E-stop Deceleration e E-stop Jerk.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

489

Capitolo 18

Istruzioni di controllo del movimento
· Quando non sono presenti errori durante la sequenza di arresto, lo stato dell'asse esegue una transizione a Fermo dopo che il bit Completato viene IMPOSTATO e l'ingresso Esegue passa a False.
· Utilizzare MC_Stop per la funzione Arresto di emergenza o situazioni di eccezione. Utilizzare MC_Halt per il normale l'arresto del movimento.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn Execute Deceleration Jerk ENO
Asse Finito
Busy Attivo CommandAborted

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Abilitazione del blocco istruzione. TRUE: esegue il calcolo MC_Stop corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram.

Ingresso Ingresso
Ingresso Ingresso Uscita
Uscita Uscita
Uscita Uscita Uscita

AXIS_REF BOOL
REAL REAL BOOL
AXIS_REF BOOL
BOOL BOOL BOOL

Utilizzare il tipo di dati AXIS_REF per definire i parametri per AxisIn.
TRUE: avvia l'azione fronte di salita. FALSE: non è in esecuzione. Valore della decelerazione [u/s2].
Valore del jerk [u/s3]. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.
L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. TRUE: la velocità zero è stata raggiunta senza errori durante la sequenza di arresto.
TRUE il blocco funzione non è finito. TRUE: indica che il blocco funzione ha il controllo sull'asse. TRUE: il comando è stato interrotto dal blocco di funzione MC_Power(OFF) o da ErrorStop.

490

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro Errore
ErrorID

Tipo di parametro Uscita

Tipo di dati BOOL

Uscita

UINT

Descrizione

Capitolo 18

Istruzioni di controllo del movimento

Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

Esempio di Programmazione a blocchi funzionali MC_Stop

Esempio di Diagramma ladder MC_Stop

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

491

Capitolo 18

Istruzioni di controllo del movimento
Esempio di Testo strutturato MC_Stop

Risultati

Vedere anche
Tipo di dati AXIS_REF a pagina 432 Istruzioni di controllo del movimento a pagina 423 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426 ID errori del blocco funzione di controllo movimento a pagina 430 Regole generali per i blocchi funzione di controllo movimento a pagina 424

MC_TouchProbe (sonda a contatto del controllo movimento)

Registra una posizione dell'asse in corrispondenza di un evento di attivazione.
Dettagli operazione:
· Se la direzione della finestra (prima posizione --> ultima posizione) è opposta a quella del movimento, la finestra della sonda a contatto non viene attivata.
· Se l'impostazione della finestra (FirstPosition o LastPosition) non è valida, il blocco di funzione MC_TouchProbe riporterà un errore.

492

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
· Se viene emessa una seconda istanza del blocco di funzione MC_TouchProbe sullo stesso asse e la prima istanza del blocco di funzione è in stato Busy, la seconda istanza del blocco di funzione riporterà un errore.
· Solo un'istanza del blocco di funzione MC_TouchProbe deve essere inviata a un asse.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn TriggerInp Execute WindowOnly
FirstPosition

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Ingresso

Tipo di dati BOOL

Descrizione
Abilitazione del blocco istruzione. TRUE: esegue il calcolo MC_TouchProbe corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram.

Ingresso Ingresso Ingresso Ingresso
Ingresso

AXIS_REF FB_AXIS_REF USINT BOOL BOOL
REAL

Utilizzare il tipo di dati AXIS_REF per definire i parametri per AxisIn. Per un asse di feedback, utilizzare il tipo di dati FB_AXIS_REF per definire i parametri per AxisIn.
Attualmente non supportato. Configurare trigger di ingresso nella configurazione Asse.
TRUE: avvia la registrazione della sonda a contatto al fronte di salita. FALSE: non è in esecuzione.
TRUE: utilizza la finestra solo per accettare eventi trigger. La risoluzione del movimento è limitata all'intervallo Motore di movimento, configurato dall'utente. Per la funzionalità WindowOnly di TouchProbe, esiste un massimo ritardo del tempo di risposta che è uguale all'intervallo Motore di movimento, per l'attivazione sia di FirstPosition sia di LastPosition. Il ritardo massimo possibile nell'attivazione della posizione (sia FirstPosition sia LastPosition) può essere calcolato con la formula (Intervallo motore di movimento * velocità di movimento).
Posizione iniziale della finestra in cui gli eventi trigger vengono accettati (in unità tecniche [u]). Valore incluso nella finestra.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

493

Capitolo 18 Istruzioni di controllo del movimento

Parametro LastPosition

Tipo di parametro
Ingresso

Tipo di dati REAL

ENO

Uscita

BOOL

Asse
TriggerInput Finito Busy CommandAborted
Errore

Uscita
Uscita Uscita Uscita Uscita
Uscita

AXIS_REF FB_AXIS_REF USINT BOOL BOOL BOOL
BOOL

ErrorID

Uscita

UINT

RecordedPosition

Uscita

REAL

Descrizione
Posizione di arresto della finestra in cui gli eventi trigger vengono accettati (in unità tecniche [u]). Valore incluso nella finestra. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.
L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura.
Attualmente non supportato. TRUE: l'evento trigger è stato registrato.
TRUE il blocco funzione non è finito. TRUE: il comando è stato annullato da MC_Power(OFF) o dal blocco di funzione Error Stop.
Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento. Posizione in cui si è verificato l'evento trigger (in unità tecniche [u]) Motion è un movimento open-loop. Posizione dell'asse nell'istante in cui si verifica un evento di trigger. Se il controllo assi è un movimento a ciclo aperto, la posizione comandata (non la posizione corrente) nell'istante in cui si verifica un evento di trigger, presupponendo che non vi sia ritardo di movimento tra l'accensione e il motore.

Ingresso/uscita movimento fisso

Segnali di movimento

PTO0

Impulso PTO
PTO direction Interruttore limite inferiore (negativo) Interruttore limite superiore (positivo) Interruttore autoguida assoluto Interruttore ingresso sonda a contatto

Output_0
Output_3 Input_0 Input_1 Input_2 Input_3

PTO1
Output_1
Output_4 Input_4 Input_5 Input_6 Input_7

PTO2
Output2
Output_5 Input_8 Input_9 Input_10 Input_11

494

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempio di Programmazione a blocchi funzionali MC_TouchProbe
Esempio di Diagramma ladder MC_TouchProbe

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

495

Capitolo 18

Istruzioni di controllo del movimento
Esempio di Testo strutturato MC_TouchProbe

Risultati

Vedere anche
Regole generali per i blocchi funzione di controllo movimento a pagina 424
ID errori del blocco funzione di controllo movimento a pagina 430
Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426
Istruzioni di controllo del movimento a pagina 423

MC_WriteBoolParameter

Modifica il valore di un parametro specifico del fornitore di tipo BOOL.

(parametro BOOL di scrittura I parametri impostati dal blocco di funzione MC_WriteBoolParameter
sono applicati solo temporaneamente nell'applicazione. Essi vengono
del controllo movimento) sovrascritti dalle impostazioni permanenti, configurate dall'utente nella

configurazione del controllo assi di Connected Components

Workbench, quando il controllore viene commutato dalla modalità PRG

a RUN, oppure quando attiva e disattiva l'alimentazione del controllore.

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

496

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn Execute ParameterNumber Valore MC_ExecutionMode
ENO Asse Finito Busy

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Ingresso

Tipo di dati BOOL

Descrizione
Abilitazione del blocco istruzione. TRUE: esegue il calcolo MC_WriteBoolParameter corrente. FALSE: l'uscita del valore viene ripristinata su 0. Applicabile solo alle programmazioni in Ladder Diagram.

Ingresso Ingresso Ingresso Ingresso Ingresso
Uscita Uscita Uscita Uscita

AXIS_REF FB_AXIS_REF BOOL DINT BOOL SINT
BOOL AXIS_REF BOOL BOOL

Utilizzare il tipo di dati AXIS_REF per definire i parametri per AxisIn. Per un asse di feedback, utilizzare il tipo di dati FB_AXIS_REF per definire i parametri per AxisIn. TRUE: scrive il valore del parametro al fronte di salita. Identificazione del parametro. Il numero del parametro definito nei dettagli relativi ai parametri del blocco funzione Controllo movimento. TRUE: il parametro specificato ha un nuovo valore. I valori sono: · 0 (mcImmediately) - la funzionalità è immediatamente valida. · 1 (mcQueued) - la nuova funzionalità diventa valida quando:
· tutti i comandi di movimento precedenti impostano uno dei seguenti parametri di uscita: Done, Aborted o Error
· l'asse non è in uno stato di movimento. quando (MC_ExecutionMode = 0) questo blocco di funzioni può essere completato con successo per tutti i parametri tranne Ciclo di lavoro (1005) solo quando lo stato dell'asse è Disattivato o Fermo. Quando (MC_ExecutionMode = 0), per Parametro ciclo di carico (1005), questo FB può essere completato correttamente tranne che l'asse si trova in uno stato Azzeramento o ErrorStop. Per (MC_ExecutionMode = 1), questo blocco di funzione può essere completato con successo solo quando lo stato dell'asse è Disabled, StandStill o il movimento in corso può essere completato terminando con lo stato StandStill Al momento gli altri valori di ingresso sono riservati e pertanto considerati come parametri non validi. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura. TRUE: il parametro è stato scritto correttamente.
TRUE il blocco funzione non è finito.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

497

Capitolo 18

Istruzioni di controllo del movimento

Parametro Errore

Tipo di parametro
Uscita

Tipo di dati BOOL

ErrorID

Uscita

UINT

Descrizione
Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

Esempio di Programmazione a blocchi funzionali MC_WriteBoolParameter

Esempio di Diagramma ladder MC_WriteBoolParameter

498

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 18 Istruzioni di controllo del movimento
Esempio di Testo strutturato MC_WriteBoolParameter
Risultati

Vedere anche
Istruzioni di controllo del movimento a pagina 423
Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426
ID errori del blocco funzione di controllo movimento a pagina 430
Regole generali per i blocchi funzione di controllo movimento a pagina 424

MC_WriteParameter (parametro di scrittura del controllo movimento)

Modifica del valore di un parametro specifico del fornitore di tipo REAL.
I parametri impostati dal blocco di funzione MC_WriteParameter sono applicati solo temporaneamente nell'applicazione. Essi vengono sovrascritti dalle impostazioni permanenti, configurate dall'utente nella configurazione del controllo assi di Connected Components Workbench, quando il controllore viene commutato da PRG a RUN, oppure quando attiva e disattiva l'alimentazione del controllore.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

499

Capitolo 18

Istruzioni di controllo del movimento
Questa istruzione si applica ai controllori Micro830, Micro850 e Micro870 che supportano il controllo del movimento.

Parametro EN
AxisIn Execute

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro
Ingresso

Tipo di dati BOOL

Descrizione
Abilitazione del blocco istruzione. TRUE: esegue il calcolo MC_WriteParameter corrente. FALSE: il calcolo non avviene. Applicabile solo alle programmazioni in Ladder Diagram.

Ingresso Ingresso

AXIS_REF FB_AXIS_REF
BOOL

Utilizzare il tipo di dati AXIS_REF per definire i parametri per AxisIn. Per un asse di feedback, utilizzare il tipo di dati FB_AXIS_REF per definire i parametri per AxisIn. TRUE: scrive il valore del parametro al fronte di salita.

ParameterNumber Valore MC_ExecutionMode
ENO Asse

Ingresso

DINT

Ingresso

REAL

Ingresso

SINT

Uscita Uscita

BOOL AXIS_REF

Identificazione del parametro. Il numero del parametro definito nei dettagli relativi ai parametri del blocco funzione Controllo movimento. Nuovo valore per il parametro specificato.
I valori sono: · 0 (mcImmediately) - la funzionalità è immediatamente valida. · 1 (mcQueued) - la nuova funzionalità diventa valida quando:
· tutti i comandi di movimento precedenti impostano uno dei seguenti parametri di uscita: Done, Aborted o Error
· l'asse non è in uno stato di movimento. · implica che il parametro di uscita Busy è impostato su FALSE. Quando (MC_ExecutionMode = 0), questo blocco funzionale può essere completato con successo per tutti i parametri tranne Ciclo di lavoro (1005) solo quando lo stato dell'asse è Disattivato o Fermo. Quando (MC_ExecutionMode = 0), per Parametro ciclo di carico (1005), questo FB può essere completato correttamente tranne che l'asse si trova in uno stato Azzeramento o ErrorStop.
Per (MC_ExecutionMode = 1), questo blocco di funzione può essere completato con successo solo quando lo stato dell'asse è Disabled, StandStill o il movimento in corso può essere completato terminando con lo stato StandStill Al momento gli altri valori di ingresso sono riservati e pertanto considerati come parametri non validi. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram. L'uscita asse nelle programmazioni in Ladder Diagram è di sola lettura.

500

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro Done Busy Errore
ErrorID

Tipo di parametro Uscita
Uscita Uscita

Tipo di dati
BOOL BOOL BOOL

Uscita

UINT

Capitolo 18 Descrizione

Istruzioni di controllo del movimento

TRUE: il parametro è stato scritto correttamente.
TRUE: indica che il blocco funzione ha il controllo dell'asse. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Numero univoco che identifica l'errore. Gli errori per questa istruzione sono definiti negli ID errori del blocco funzione Controllo del movimento.

Esempio di Programmazione a blocchi funzionali MC_WriteParameter

Esempio di Diagramma ladder MC_WriteParameter

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

501

Capitolo 18

Istruzioni di controllo del movimento
Esempio di Testo strutturato MC_WriteParameter

Risultati

Vedere anche
Tipo di dati AXIS_REF a pagina 432 Tipo di dati FB_AXIS_REF a pagina 433 Istruzioni di controllo del movimento a pagina 423 Dettagli relativi ai parametri del blocco funzione per il controllo del movimento a pagina 426 Regole generali per i blocchi funzione Controllo movimento a pagina 424

502

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzioni di controllo dei processi

Capitolo 19

Usare le istruzioni di controllo dei processi per monitorare e mantenere i cicli di processo per le quantità, quali pressione, temperatura, portata e livello dei fluidi. I controlli dei processi regolano il percorso inviando un segnale di uscita alla valvola di controllo.

Istruzione

Descrizione

DERIVATE a pagina 503 FFL a pagina 505 FFU a pagina 515
HYSTER a pagina 520 INTEGRAL a pagina 522 LFL(LIFO load) a pagina 528

Differenzia un valore reale su una durata del ciclo definito.
Carica i dati a 8 bit, 16 bit, 32 bit o 64 bit in un vettore creato dall'utente denominato stack FIFO. Scarica i dati a 8 bit, 16 bit, 32 bit o 64 bit da un vettore creato dall'utente denominato stack FIFO. I dati vengono scaricati nello stesso ordine in cui sono caricati usando l'istruzione FFL. Esegue unaisteresi booleana sulla differenza tra dati reali. Integra un valore real durante la durata del ciclo definito. Carica i dati a 8 bit, 16 bit, 32 bit o 64 bit in un vettore creato dall'utente denominato stack LIFO.

LFU(LIFO unload) a pagina 530
PWM a pagina 533
SCALER a pagina 535 STACKINT a pagina 537 LIMIT a pagina 549 TND a pagina 547

Scarica i dati a 8 bit, 16 bit, 32 bit o 64 bit da un vettore creato dall'utente denominato stack LIFO. I dati vengono scaricati nello stesso ordine in cui sono caricati usando l'istruzione LFL. Attiva o disattiva l'uscita della la modulazione dell'ampiezza di un impulso (PWM) per un canale PWM configurato. Scala il valore di ingresso in base all'intervallo di uscita. Gestisce uno stack di valori interi. riduce i valori interi a un intervallo definito.
Arresta il ciclo di scansione del programma utente in corso.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

DERIVATE

Differenziazione di un valore reale su una durata del ciclo definito.
Dettagli operazione:
· Se il valore del parametro CYCLE è inferiore alla temporizzazione del ciclo di esecuzione del dispositivo, il periodo di campionamento viene forzato a questa temporizzazione del ciclo.
· La derivata viene eseguita su una base di tempo espresso in millisecondi.Per esempio, la derivata di un ingresso di 1.000 che cambia in 2.000 in un intervallo di tempo di 1 secondo darà un valore pari a 1. Per convertire l'uscita dell'istruzione in secondi, moltiplicare il valore di uscita per 1000.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

503

Capitolo 19

Istruzioni di controllo dei processi
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri RUN
XIN CYCLE
XOUT ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro
Ingresso

Tipo di dati BOOL

Ingresso

REAL

Ingresso

TIME

Uscita

REAL

Uscita

BOOL

Descrizione
Indica la modalità operativa dell'istruzione. TRUE: normale (esegue il calcolo) FALSE: reset Definisce il valore su cui eseguire il calcolo di derivazione. Il valore deve essere un valore REAL. Definisce il periodo di campionamento in cui raccogliere i valori. L'intervallo di valori del periodo di tempo possibile varia da 0 ms a 49 g 17 h 2 m 47 s 294 ms. Uscita derivata. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempi di programmazione a blocchi funzionali DERIVATE

Esempio di diagramma ladder DERIVATE

504

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19
Esempio di testo strutturato DERIVATE

Istruzioni di controllo dei processi

(* Equivalenza ST: DERIVATE1 è un'istanza del blocco DERIVATE *)
DERIVATE1(manual_mode, sensor_value, t#100ms); derivated_value := DERIVATE1.XOUT;
Vedere anche
Istruzioni di controllo dei processi a pagina 503

FFL (caricamento FIFO)

Carica i dati a 8 bit, 16 bit, 32 bit o 64 bit in un vettore creato dall'utente denominato stack FIFO.
Dettagli operazione:
· Istruzione FFL: da modalità di non esecuzione in modalità di esecuzione
· Quando Esegue passa da FALSE a TRUE:
· Le condizioni di errore vengono verificate. · I contenuti di Src vengono caricati all'interno dello stack
FIFO nella posizione disponibile e Posizione incrementa di 1 se Posizione è minore o uguale a zero e minore della Lunghezza. · Il bit Pieno è impostato su TRUE se la Lunghezza è uguale alla Posizione. Il bit Pieno è FALSE se la Posizione è minore o uguale a zero e minore della Lunghezza. · Il bit Completato viene impostato quando l'istruzione viene eseguita correttamente.
· Quando Esegue passa da FALSE a TRUE:
· I bit Errore, Completato e ErrorID sono impostati su FALSE. · Il bit Vuoto è impostato su TRUE se Posizione è uguale a
zero. · Il bit Pieno è impostato su TRUE se la Lunghezza è uguale
alla Posizione. Il bit Pieno è FALSE se la Posizione è minore o uguale a zero e minore della Lunghezza. · Le condizioni di errore FFL non sono verificate.
· Quando Esegue passa da TRUE a TRUE:
· Non viene eseguita alcuna operazione di caricamento. · Il bit Vuoto è impostato su TRUE se Posizione è uguale a
zero. · Il bit Pieno è impostato su FALSE se la Posizione è minore
o uguale a zero e minore della Lunghezza. Il bit Pieno è

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

505

Capitolo 19

Istruzioni di controllo dei processi
impostato su TRUE se la Lunghezza è uguale alla Posizione. · Le condizioni di errore FFL non sono verificate.
· Quando Esegue passa da FALSE a FALSE:
· I bit Errore, Completato e ErrorID sono impostati su FALSE. · I bit Pieno e Vuoto bit conservano i valori dallo stato di
esecuzione precedente.
· Il bit Vuoto è impostato su TRUE se Posizione è uguale a zero.
· Il bit Pieno è impostato su TRUE se la Lunghezza è uguale alla Posizione. Il bit Pieno è FALSE se la Posizione è minore o uguale a zero e minore della Lunghezza.
· Le condizioni di errore FLL non sono verificate.
· Istruzione FFL: dalla modalità in esecuzione alla modalità non in esecuzione:
· I bit Errore, ErrorID, Completato, Vuoto e Pieno conservano lo stato modalità in esecuzione.
· Per creare un singolo elemento per il parametro FIFO:
· Non vettore:
· L'indirizzo basato sulla variabile come Fifo1 è consentito per FIFO.
· La lunghezza deve essere configurata come 1.
· Vettore
· L'indirizzo basato sulla variabile come Fifo1 o Fifo1[0] è consentito per FIFO.
· La lunghezza deve essere configurata come 1.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro

Tipo di parametro

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

506

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Execute

Ingresso

BOOL

Src

Ingresso

ANY_ELEMENTARY

FIFO

Ingresso

ANY_ELEMENTARY

FIFOCon

Ingresso

FF_LF_CON

Done

Uscita

BOOL

Vuoto

Uscita

BOOL

Completo

Uscita

BOOL

Errore

Uscita

BOOL

ErrorID

Uscita

USINT

Capitolo 19 Istruzioni di controllo dei processi
Abilitazione del blocco istruzione. TRUE: se viene rilevato il fronte di salita, avviare l'operazione FFL. FALSE: fronte di salita non rilevato.
L'operando Src è l'indirizzo del valore utilizzato per riempire la posizione dello stack FIFO attualmente disponibile. Tipi di dati elementari supportati per Scr: · DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD,
DINT, UDINT. · La stringa non è supportata. · Gli elementi del vettore come Vettore[1] o Vettore[indice] sono supportati. L'indirizzo iniziale dello stack. FIFO deve essere configurato come per le istruzioni FFL e FFU. Tipi di dati elementari supportati per FIFO:
DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT. · La stringa non è supportata. · È supportato solo il vettore unidimensionale per FIFO. Controllo e configurazione FIFO. La stessa configurazione deve essere configurata per le istruzioni FFL e FFU. Per configurare posizione e lunghezza, utilizzare il tipo di dati FF_LF_CON.
Indica se l'operazione FFU è stata completata. TRUE: operazione completata correttamente. FALSE: l'operazione ha rilevato una condizione di errore o l'istruzione FFU non è in esecuzione. Indica se lo stack FIFO è vuoto. TRUE: quando la posizione è uguale a 0. FALSE: quando la posizione non è uguale a 0. Indica se lo stack FIFO è pieno. TRUE: quando lunghezza è uguale a posizione. FALSE: quando la posizione è maggiore o uguale a zero e minore della lunghezza. Indica la presenza di una condizione di errore. TRUE: l'operazione ha riscontrato un errore. FALSE: l'operazione è stata completata o l'istruzione FFU non è in esecuzione. Numero univoco che identifica l'errore. Gli errori sono definiti nei codici di errore FFL.

Parametri Lunghezza Position

Tipo di dati UINT USINT

Tipo di dati FF_LF_CON
Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati FF_LF_CON.
Descrizione
Numero di elementi utilizzati per l'operazione FIFO. Il limite massimo è 1024.
Determina la posizione disponibile successiva in FIFO per la rimozione o l'immissione di Src. La posizione è l'offset del vettore. Esempio 1: · Vettore configurato dall'utente, arr[0..5]. La posizione iniziale è configurata come 1. I dati sono inseriti in arr[1] e la posizione
aumenta di + 1. Esempio 2: · Vettore configurato dall'utente come arr[1..5]. La posizione iniziale è configurata come 1. I dati sono inseriti in arr[2] e la posizione
aumenta di + 1.

Codici di errore FFL
Utilizzare questa tabella per determinare i codici di errore FFL e FFU e le descrizioni.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

507

Capitolo 19 Istruzioni di controllo dei processi Codice errore Descrizione errore

0

Nessun errore.

1

Il tipo di dati Src FFL non è supportato.

2

Il tipo di dati Dest FFU non è supportato.

3

Il tipo di dati FIFO non è supportato.

4

I tipi di dati Src e Dest non corrispondono al tipo di dati FIFO.

Azione correttiva:

Il tipo di dati del parametro Src FFL e del parametro Dest FFU devono corrispondere al tipo di dati del vettore FIFO.

5

FIFO: la dimensione del vettore non è supportata.

Azione correttiva:

FIFO supporta solo vettori unidimensionali.

6

La lunghezza del controllo FIFOCon supera la dimensione del vettore FIFO.

Azione correttiva:

La lunghezza del controllo FIFOCon non supera la dimensione del vettore FIFO.

7

La lunghezza FIFOCon supera la lunghezza massima.

8

La lunghezza FIFOCon è zero.

9

La posizione FIFOCon supera la lunghezza FIFOCon.

10

La posizione e la lunghezza del controllo FFL sono uguali.

11

La posizione del controllo FFU è zero.

12

La dimensione del vettore FFL o FFU non è supportata.

Azione correttiva:

FFL e FFU supportano solo vettori unidimensionali.

13

FFL o FFU DestOffset supera la dimensione vettore Dest.

Esempio di Programmazione a blocchi funzionali FFL

508

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19
Esempio di Diagramma ladder FFL

Istruzioni di controllo dei processi

Esempio di Testo strutturato FFL

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

509

Capitolo 19

Istruzioni di controllo dei processi
Risultati

Vedere anche
Diagrammi di temporizzazione istruzione FFL e FFU a pagina 510
Istruzioni di controllo dei processi a pagina 503

Diagrammi di temporizzazione istruzione FFL e FFU

Gli esempi di diagramma di temporizzazione seguenti descrivono gli scenari di esecuzione per le istruzioni FFL (carico FIFO) e FFU (scarica FIFO).

510

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19 Istruzioni di controllo dei processi
Il completamento dell'esecuzione FFL seguita dal completamento dell'esecuzione FFU

Utilizzare questa tabella per determinare i valori del parametro per ogni ciclo di scansione.
Ciclo di scansione Descrizione

1

La condizione ramo diventa TRUE quando:

· Il bit di ingresso Esegue è TRUE.

· Dati di carico (push) allo stack FIFO.

· Il bit di uscita Completato è TRUE.

2, 3, 4

Nessuna modifica nella condizione ramo.

5

La condizione ramo diventa FALSE quando:

· Il bit Esegue è FALSE.

· Il bit di uscita Completato è FALSE.

6, 7

Nessuna modifica nella condizione ramo.

· Il bit Esegue è FALSE.

· Il bit di uscita Completato è FALSE.

8

Il ramo passa a TRUE quando:

· Il bit di ingresso Esegue è TRUE.

· Scaricare i dati dallo stack FIFO.

· Il bit di uscita Completato è TRUE.

9

Nessuna modifica nella condizione ramo.

· Il bit Esegue è FALSE.

· Il bit di uscita Completato è FALSE.

10, 11

Nessuna modifica nella condizione ramo.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

511

Capitolo 19

Istruzioni di controllo dei processi
Completamento dell'esecuzione quando il bit vuoto è TRUE

Utilizzare questa tabella per determinare i valori del parametro per ogni ciclo di scansione.
Ciclo di scansione Descrizione

1

La condizione ramo diventa TRUE quando:

· Il bit di ingresso Esegue è TRUE. Avvio esecuzione.

· La Posizione è zero. Il bit Vuoto è TRUE.

· Il bit di uscita Completato è TRUE.

2, 3, 4

Nessuna modifica nella condizione ramo.

5

La condizione ramo diventa FALSE quando:

· Il bit Esegue è FALSE.

· Il bit Vuoto è TRUE.

· Il bit di uscita Completato è FALSE.

6, 7

Nessuna modifica nella condizione ramo.

8

Il ramo passa a TRUE quando:

· Il bit di ingresso Esegue è TRUE. Avvio esecuzione.

· Il bit Vuoto è TRUE.

· Il bit di uscita Completato è TRUE.

9

La condizione ramo diventa FALSE quando:

· Il bit Esegue è FALSE.

· Il bit Vuoto è TRUE.

· Il bit di uscita Completato è FALSE.

10, 11

Nessuna modifica nella condizione ramo.

512

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19 Istruzioni di controllo dei processi
Completamento dell'esecuzione quando il bit vuoto è TRUE

Utilizzare questa tabella per determinare i valori del parametro per ogni ciclo di scansione.
Ciclo di scansione Descrizione

1

La condizione ramo diventa TRUE quando:

· Il bit di ingresso Esegue è TRUE. Avvio esecuzione.

· La Posizione è uguale alla Lunghezza, il bit Pieno è TRUE.

· Il bit di uscita Completato è TRUE.

2, 3, 4

Nessuna modifica nella condizione ramo.

5

La condizione ramo diventa FALSE quando:

· Il bit Esegue è FALSE.

· Il bit Pieno è TRUE.

· Il bit di uscita Completato è FALSE.

6, 7

Nessuna modifica nella condizione ramo.

8

Il ramo passa a TRUE quando:

· Il bit di ingresso Esegue è TRUE. Avvio esecuzione.

· Il bit Pieno è TRUE.

· Il bit di uscita Completato è TRUE.

9

La condizione ramo diventa FALSE quando:

· Il bit Esegue è FALSE.

· Il bit Pieno è TRUE.

· Il bit di uscita Completato è FALSE.

10, 11

Nessuna modifica nella condizione ramo.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

513

Capitolo 19

Istruzioni di controllo dei processi
Errore durante l'esecuzione di FFL e FFU

Utilizzare questa tabella per determinare i valori del parametro per ogni ciclo di scansione.
Ciclo di scansione Descrizione

La condizione ramo diventa TRUE quando:

· Il bit di ingresso Esegue è TRUE. Avvio esecuzione.

· Il bit Errore è TRUE.

2, 3, 4

Nessuna modifica nella condizione ramo.

5

La condizione ramo diventa FALSE quando:

· Il bit Esegue è FALSE.

· I bit Error ed ErrorID sono FALSE.

6, 7

Nessuna modifica nella condizione ramo.

8

Il ramo passa a TRUE quando:

· Il bit di ingresso Esegue è TRUE. Avvio esecuzione.

· Il bit Errore è TRUE.

9

La condizione ramo diventa FALSE quando:

· Il bit Esegue è FALSE.

· I bit Error ed ErrorID sono FALSE.

10, 11

Nessuna modifica nella condizione ramo.

Vedere anche

FFL a pagina 515 FFU a pagina 515 Istruzioni di controllo dei processi a pagina 503

514

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19 Istruzioni di controllo dei processi

FFU (Scarica FIFO)

Scarica i dati a 8, 16, 32 e 64 bit da un vettore creato dall'utente denominato stack FIFO (First In First Out, primo a entrare primo a uscire) nello stesso ordine in cui i dati sono stati caricati usando l'istruzione FFL.
Dettagli operazione:
· Istruzione FFU: da modalità di non esecuzione in modalità di esecuzione:
· Quando Esegue passa da FALSE a TRUE:
· Le condizioni di errore FFU sono verificate. · Scarica i contenuti dello stack FIFO in corrispondenza della
posizione zero se la Posizione è maggiore di zero e minore o uguale alla Lunghezza. · Gli elementi rimanenti si spostano di una posizione verso lo zero e l'elemento massimo dello stack FIFO viene impostato su zero, la Posizione diminuisce di 1. · Il bit Vuoto è impostato su TRUE se Posizione è uguale a zero. · Il bit Completato viene impostato quando l'istruzione viene eseguita correttamente.
· Quando Esegue passa da FALSE a TRUE:
· I bit Errore, Completato e ErrorID sono impostati su FALSE. · Il bit Vuoto è impostato su TRUE se Posizione è uguale a
zero. · Il bit Pieno è impostato su TRUE se la Lunghezza è uguale
alla Posizione. Il bit Pieno è impostato su FALSE se la Posizione è minore o uguale a zero e minore della Lunghezza. · Le condizioni di errore FFU non sono verificate.
· Quando Esegue passa da TRUE a TRUE:
· Non viene eseguita alcuna operazione di scaricamento. · Il bit Vuoto è impostato su TRUE se Posizione è uguale a
zero. · Il bit Pieno è impostato su TRUE se la Lunghezza è uguale
alla Posizione. · Le condizioni di errore FFU non sono verificate.
· Quando Esegue passa da FALSE a FALSE:
· I bit Errore, Completato e ErrorID sono impostati su FALSE. · Il bit Vuoto è impostato su TRUE se Posizione è uguale a
zero. · Il bit Pieno è impostato su TRUE se la Lunghezza è uguale
alla Posizione. Il bit Pieno è impostato su FALSE se la Posizione è minore o uguale a zero e minore della Lunghezza. · Le condizioni di errore FLU non sono verificate.
· Istruzione FFU: dalla modalità in esecuzione alla modalità non in esecuzione:

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

515

Capitolo 19

Istruzioni di controllo dei processi
· I bit Errore, ErrorID, Completato, Vuoto e Pieno conservano lo stato modalità in esecuzione.
· Per creare un singolo elemento per il parametro FIFO:
· Non vettore:
· L'indirizzo basato sulla variabile come Fifo1 è consentito per FIFO.
· La lunghezza deve essere configurata come 1.
· Vettore
· L'indirizzo basato sulla variabile come Fifo1 o Fifo1[0] è consentito per FIFO.
· La lunghezza deve essere configurata come 1.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro Execute Dest
DestOffset

Tipo di parametro Ingresso Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL ANY_ELEMENTARY
UINT

Abilitazione del blocco istruzione. TRUE: se viene rilevato il fronte di salita rilevato, avviare l'operazione FFU. FALSE: fronte di salita non rilevato. Contiene il valore esistente nello stack FIFO. Tipi di dati elementari supportati per Dest: · DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT,
UDINT. · La stringa non è supportata. · Supporta solo vettori unidimensionali come Vettore[1] o Vettore[Indice]. Offset elemento di destinazione. Offset elemento se il tipo di destinazione è dati vettore, altrimenti impostare l'offset su 0. Per tipo di dati vettore, per scaricare nel primo elemento, impostare l'offset su 0.

516

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

FIFO

Ingresso

ANY_ELEMENTARY

FIFOCon

Ingresso

FF_LF_CON

Done

Uscita

BOOL

Completo

Uscita

BOOL

Vuoto

Uscita

BOOL

Errore

Uscita

BOOL

ErrorID

Uscita

USINT

Capitolo 19 Istruzioni di controllo dei processi
L'indirizzo iniziale dello stack. FIFO deve essere configurato come nelle istruzioni FFL e FFU. · Tipi di dati elementari supportati per FIFO:
DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT. · La stringa non è supportata. · È supportato solo la singola dimensione per FIFO.
Controllo e configurazione FIFO. La stessa configurazione deve essere configurata per le istruzioni FFL e FFU. Per configurare posizione e lunghezza, utilizzare il tipo di dati FF_LF_CON. Indica se l'operazione FFU è stata completata. TRUE: operazione completata correttamente. FALSE: l'operazione ha rilevato una condizione di errore o l'istruzione FFU non è in esecuzione. Indica se lo stack FIFO è pieno. TRUE: quando lunghezza è uguale a posizione. FALSE: quando la posizione è maggiore di zero e minore della lunghezza. Indica se lo stack FIFO è vuoto. TRUE: quando la posizione è uguale a 0. FALSE: quando la posizione non è uguale a 0. Indica la presenza di una condizione di errore. TRUE: l'operazione ha riscontrato un errore. FALSE: l'operazione è stata completata o l'istruzione FFU non è in esecuzione. Numero univoco che identifica l'errore. Gli errori sono definiti nei codici di errore FFU.

Parametri Lunghezza Position

Tipo di dati UINT USINT

Tipo di dati FF_LF_CON
Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati FF_LF_CON.
Descrizione
Numero di elementi utilizzati per l'operazione FIFO. Il limite massimo è 1024.
Determina la posizione disponibile successiva in FIFO per la rimozione o l'immissione di Src. La posizione è l'offset del vettore. Esempio 1: · Vettore configurato dall'utente, arr[0..5]. La posizione iniziale è configurata come 1. I dati sono inseriti in arr[1] e la posizione
aumenta di + 1. Esempio 2: · Vettore configurato dall'utente come arr[1..5]. La posizione iniziale è configurata come 1. I dati sono inseriti in arr[2] e la posizione
aumenta di + 1.

Codici di errore FFU
Utilizzare questa tabella per determinare i codici di errore FFL e FFU e le descrizioni.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

517

Capitolo 19 Istruzioni di controllo dei processi Codice errore Descrizione errore

0

Nessun errore.

1

Il tipo di dati Src FFL non è supportato.

2

Il tipo di dati Dest FFU non è supportato.

3

Il tipo di dati FIFO non è supportato.

4

I tipi di dati Src e Dest non corrispondono al tipo di dati FIFO.

Azione correttiva:

Il tipo di dati del parametro Src FFL e del parametro Dest FFU devono corrispondere al tipo di dati del vettore FIFO.

5

FIFO: la dimensione del vettore non è supportata.

Azione correttiva:

FIFO supporta solo vettori unidimensionali.

6

La lunghezza del controllo FIFOCon supera la dimensione del vettore FIFO.

Azione correttiva:

La lunghezza del controllo FIFOCon non supera la dimensione del vettore FIFO.

7

La lunghezza FIFOCon supera la lunghezza massima.

8

La lunghezza FIFOCon è zero.

9

La posizione FIFOCon supera la lunghezza FIFOCon.

10

La posizione e la lunghezza del controllo FFL sono uguali.

11

La posizione del controllo FFU è zero.

12

La dimensione del vettore FFL o FFU non è supportata.

Azione correttiva:

FFL e FFU supportano solo vettori unidimensionali.

13

FFL o FFU DestOffset supera la dimensione vettore Dest.

Esempio di Programmazione a blocchi funzionali FFU

518

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19
Esempio di Diagramma ladder FFU

Istruzioni di controllo dei processi

Esempio di Testo strutturato FFU

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

519

Capitolo 19

Istruzioni di controllo dei processi
Risultati

HYSTER (isteresi)

Vedere anche
Diagrammi di temporizzazione istruzione FFL e FFU a pagina 510 Istruzioni di controllo dei processi a pagina 503
Isteresi booleana sulla differenza tra numeri reali. Confronta il valore corrente di un ingresso con il limite massimo stabilito aggiungendo la quantità storica di ritardo come misurato dalla isteresi al valore previsto per un ingresso e valutando se il valore corrente supera tale limite. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

520

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19 Istruzioni di controllo dei processi
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN
XIN1 XIN2 EPS ENO Q

Tipo di parametro Ingresso
Ingresso Ingresso Ingresso Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue il blocco istruzione.

FALSE: non esegue il blocco istruzione.

Applicabile solo alle programmazioni in Ladder Diagram.

REAL

Qualsiasi valore reale.

REAL

Per verificare se il valore di ingresso XIN1 ha superato il limite massimo definito per questo

ingresso XIN2 + EPS.

REAL

Valore di isteresi (deve essere maggiore di zero).

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram.

BOOL

Il risultato dell'istruzione HYSTER.

TRUE: l'ingresso supera il limite superiore, ma non è inferiore al limite inferiore.

FALSE: l'ingresso non ha superato il limite superiore.

Esempio di diagramma di temporizzazione HYSTER
Nel seguente diagramma, HYSTER viene utilizzato per verificare il ritardo di prestazioni a causa di attrito motore in un intervallo di tempo di 5 secondi. L'istruzione viene eseguita ogni 10 millisecondi. Durante la fase di avvio il motore ha funzionato in maniera efficiente.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

521

Capitolo 19

Istruzioni di controllo dei processi
Esempio di programmazione a blocchi funzionali HYSTER

Esempio di diagramma ladder HYSTER

Esempio di testo strutturato HYSTER

INTEGRAL
522

Vedere anche
Istruzioni di controllo dei processi a pagina 503
Integra un valore real durante la durata del ciclo definito. Dettagli operazione:
· Quando un blocco funzione INTEGRAL viene inizializzato per la prima volta, i valori iniziali non vengono considerati. Usare il parametro R1 per impostare i valori iniziali per il calcolo.
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19 Istruzioni di controllo dei processi
· Per evitare la perdita del valore incorporato, il valore di integrazione non viene cancellato automaticamente quando il controllore passa da PROGRAM a RUN o quando il parametro RUN passa da FALSE a TRUE. Usare il parametro R1 per cancellare il valore dell'integrale quando il controllore per la prima volta passa dalla modalità PROGRAM a RUN o quando si inizia una nuova integrazione.
· Si raccomanda di non usare i parametri EN o ENO facoltativi con questo blocco funzione, in quanto il calcolo della durata del ciclo sarà interrotto quando EN è FALSE, con conseguente errore di integrazione. Se si utilizzano i parametri EN o ENO, commutare il parametro R1 con EN uguale a TRUE per cancellare il risultato corrente e assicurare una corretta integrazione.
· L'integrazione viene eseguita su una base temporale in millisecondi (ovvero, integrando un input di 1 con un valore iniziale di 0 per 1 secondo il risultato sarà pari a 1000). Per convertire l'uscita dell'istruzione in secondi, il valore in uscita deve essere diviso per 1000.
· Se il valore del parametro CYCLE è inferiore all'intervallo di tempo del ciclo di esecuzione del dispositivo, il periodo di campionamento viene forzato all'intervallo di tempo del ciclo.
· L'esecuzione del campionamento XIN e del blocco funzione si verifica ad ogni durata del ciclo + Scan Time Jitter.
· Per un dato programma utente, Scan Time Jitter varia da controllore a controllore.
· La durata del ciclo determina la sensibilità del blocco funzione Integral. Le variazioni che si verificano in XIN tra due campionamenti (o all'interno della durata del ciclo) non vengono prese in considerazione quando viene calcolato il valore dell'integrale XOUT.
· La durata del ciclo e il valore di Scan Time Jitter influiscono entrambi sull'imprecisione complessiva dell'uscita Integral come mostrato nel XIN in sincronia con l'esempio di esecuzione del blocco funzione e nel XIN non in sincronia con l'esecuzione del blocco funzione.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

523

Capitolo 19 Istruzioni di controllo dei processi

Parametro
RUN R1 XIN X0 CYCLE Q XOUT

Tipo di parametro Ingresso Ingresso
Ingresso Ingresso Ingresso Uscita Uscita

Tipo di dati
BOOL BOOL REAL REAL TIME BOOL REAL

Descrizione
Modalità: TRUE = integra / FALSE = attesa. Ignora ripristino. Ingresso: qualsiasi valore reale. Valore iniziale. Periodo di camp. I valori possibili variano da 0ms a 49d17h2m47s294ms. Non R1. Uscita integrata.

Esempio di programmazione a blocchi funzionali INTEGRAL

Esempio di diagramma ladder integrale

524

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19
Esempio di testo strutturato integrale

Istruzioni di controllo dei processi

(* Equivalenza ST: INTEGRAL1 è un'istanza di un blocco INTEGRAL *)
INTEGRAL1(manual_mode, NOT(manual_mode), sensor_value, init_value, t#100ms); controlled_value := INTEGRAL1.XOUT;
Risultati

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

525

Capitolo 19

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

526

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

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

AND

Vedere anche
Istruzioni di controllo dei processi a pagina 503
Esegue un'operazione booleana AND tra due o più valori. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

527

Capitolo 19

Istruzioni di controllo dei processi
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri
i1 i2 o1

Tipo di parametro
Ingresso Ingresso Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Valore in tipo di dati Boolean.

BOOL

Valore in tipo di dati Boolean.

BOOL

Risultato dell'operazione booleana AND dei valori di ingresso.

Esempio di testo strutturato AND
(* Equivalenza ST: *)
bo10 := bi101 AND NOT (bi102); bo5 := (bi51 AND bi52) AND bi53;

Vedere anche
Istruzioni booleane a pagina 159

LFL (carico LIFO)

L'istruzione LFL viene utilizzata per caricare i dati (8 bit, 16 bit, 32 bit o 64 bit) in un vettore creato dall'utente denominato stack LIFO. Le istruzioni LFL e LFU vengono utilizzate in coppia.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

528

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro Execute

Tipo di parametro Ingresso

Src

Ingresso

LIFO

Ingresso

LIFOCon Completo

Ingresso Uscita

Vuoto

Uscita

Errore

Uscita

ErrorID Done

Uscita Uscita

Capitolo 19 Istruzioni di controllo dei processi
Utilizzare questa tabella per determinare il valore del parametro per queste istruzioni.

Tipo di dati

Descrizione

BOOL ANY_ELEMENTARY
ANY_ELEMENTARY
FF_LF_CON BOOL BOOL BOOL USINT BOOL

Abilitazione del blocco istruzione. TRUE: se viene rilevato il fronte di salita, avviare l'operazione LFL. FALSE: fronte di salita non rilevato. L'operando Src è l'indirizzo del valore usato per compilare la posizione attualmente disponibile nello stack LIFO. Tipi di dati elemento supportati: · DWORD, REAL, TIME, DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL,
SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT.\ · Elemento del vettore come Vettore [1] o Vettore[Indice]. · La stringa non è supportata L'indirizzo iniziale dello stack. LIFO deve essere configurato come per le istruzioni LFL e LFU. Tipi di dati elemento supportati: · DWORD, REAL, TIME, DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL,
SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT. · È supportata solo la singola dimensione. · La stringa non è supportata. Controllo e configurazione LIFO. La stessa configurazione deve essere definita per le istruzioni LFL e LFU. Per configurare posizione e lunghezza, utilizzare il tipo di dati FF_LF_CON. Indica se lo stack LIFO è pieno. TRUE: quando lunghezza è uguale a posizione. FALSE: quando la posizione è maggiore o uguale a zero e minore della lunghezza. Indica se lo stack LIFO è vuoto. TRUE: quando la posizione è uguale a zero. FALSE: quando la posizione non è uguale a zero. Indicare la presenza di una condizione di errore. TRUE: l'operazione ha riscontrato un errore. FALSE: l'operazione è stata completata o l'istruzione non è in esecuzione. Numero univoco che identifica l'errore. Gli errori sono definiti nei codici di errore LFL. Indicare quando l'operazione è completata. TRUE: l'operazione è stata completata. FALSE: l'operazione ha rilevato una condizione di errore o l'istruzione FFU non è in esecuzione.

Esempio di programmazione a blocchi funzionali LFL

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

529

Capitolo 19

Istruzioni di controllo dei processi
Esempio di Diagramma ladder LFL

Esempio di Testo strutturato LFL

Vedere anche
Istruzioni di controllo dei processi a pagina 503 LFU (scarica LIFO) a pagina 530

LFU (scarica LIFO)
530

L'istruzione LFU scarica i dati (8 bit, 18 bit, 32 bit, 64 bit) da un vettore creato dall'utente denominato stack LIFO. Le istruzioni LFU e LFL vengono utilizzate in coppia. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19 Istruzioni di controllo dei processi
Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro Execute

Tipo di parametro Ingresso

Dest

Ingresso

DestOffset

Ingresso

LIFO

Ingresso

LIFOCon Completo

Ingresso Uscita

Errore

Uscita

ErrorID Done

Uscita Uscita

Utilizzare questa tabella per determinare il valore del parametro per queste istruzioni.

Tipo di dati

Descrizione

BOOL ANY_ELEMENTARY
UINT ANY_ELEMENTARY
FF_LF_CON BOOL BOOL USINT BOOL

Abilitazione del blocco istruzione. TRUE: se viene rilevato il fronte di salita, avvia l'operazione LFU. FALSE: fronte di salita non rilevato. Contiene il valore esistente nello stack LIFO. Tipi di dati elementari supportati per Dest: · DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT,
UINT, WORD, DINT, UDINT. · La stringa non è supportata. · Supporta solo vettori unidimensionali come Vettore[1] o Vettore[Indice]. Offset elemento di destinazione. Offset elemento se il tipo di destinazione è dati vettore, altrimenti impostare l'offset su 0. Per tipo di dati vettore, per scaricare nel primo elemento, impostare l'offset su 0. L'indirizzo iniziale dello stack. LIFO deve essere configurato come per le istruzioni LFL e LFU. Tipi di dati elemento supportati: · DWORD, REAL, TIME, DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL,
SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT. · È supportata solo la singola dimensione. · La stringa non è supportata. Controllo e configurazione LIFO. La stessa configurazione deve essere definita per le istruzioni LFL e LFU. Per configurare posizione e lunghezza, utilizzare il tipo di dati FF_LF_CON. Indica se lo stack LIFO è pieno. TRUE: quando lunghezza è uguale a posizione. FALSE: quando la posizione è maggiore o uguale a zero e minore della lunghezza. Indicare la presenza di una condizione di errore. TRUE: l'operazione ha riscontrato un errore. FALSE: l'operazione è stata completata o l'istruzione non è in esecuzione. Numero univoco che identifica l'errore. Gli errori sono definiti nei codici di errore LFU. Indicare quando l'operazione è completata. TRUE: l'operazione è stata completata. FALSE: l'operazione ha rilevato una condizione di errore o l'istruzione LFU non è in esecuzione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

531

Capitolo 19

Istruzioni di controllo dei processi
Esempio di programmazione a blocchi funzionali LFU

Esempio di Diagramma ladder LFU

Esempio di Testo strutturato LFU

532

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

PWM (Pulse Width Modulation)

Vedere anche

Capitolo 19 Istruzioni di controllo dei processi

Istruzioni di controllo dei processi a pagina 503 LFL (carico LIFO) a pagina 528

Attiva o disattiva l'uscita del PMW (Pulse Width Modulation) per un canale PWM configurato.
Questo blocco istruzione viene utilizzato con i controllori Micro820 2080-LC20-20QBB e supporta un canale PWM utilizzando il canale di uscita 6 integrato.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale solo per il controllore 2080-LC20-20QBB Micro820.

Parametri Enable

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Ingresso

Tipo di dati BOOL

Descrizione
Abilitazione del blocco istruzione. Questo livello è attivato per il blocco istruzione. TRUE: aggiornare Sts. PWM viene attivato o disattivato a seconda del parametro di ingresso On e della configurazione valida. FALSE: Sts viene soltanto aggiornato. Lo stato (attivo o inattivo) di PWM non subisce variazioni.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

533

Capitolo 19

Istruzioni di controllo dei processi

Parametri On

Tipo di parametro
Ingresso

Freq DutyCycle ChType

Ingresso Ingresso Ingresso

ChSlot ChNum ENO Sts

Ingresso Ingresso Uscita Uscita

Tipo di dati BOOL
UDINT UINT UINT
UINT UINT BOOL UINT

Descrizione
Imposta l'uscita PVM su On/Attivo o Off/inattivo. TRUE: l'uscita PWM viene attivata o continua a essere attiva con la configurazione valida più recente. Il LED uscita è ON quando PWM è attivo, anche se il duty cycle è impostato su 0%. FALSE: l'uscita PWM viene disattivata se anche la configurazione è valida. Frequenza di impulso. · 1 ­ 100.000 Hz Ciclo di lavoro per impulso. · 0 - 1000 (0% - 100%) Tipo di canale · 0: integrato · 1: plug-in · 2: espansione Slot canale · 0: integrato Numero canale · 0 ­ PWM CH0 Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.
Codici di stato PWM: · 00: blocco funzione non abilitato (nessuna operazione). · 01: configurazione PWM eseguita con successo. · 02: ciclo di carico non valido. · 03: frequenza non valida. · 04: tipo canale non valido. · 05: slot canale non valido. · 06: numero canale non valido. · 07: catalogo non valido. Nel catalogo in uso la funzionalità PWM non è supportata.

Esempio di Programmazione a blocchi funzionali PWM

534

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19
Esempio di Diagramma ladder PWM

Istruzioni di controllo dei processi

Esempio di Testo strutturato PWM

Vedere anche
Istruzioni di controllo dei processi a pagina 503

SCALER (scala)
Parametro EN Ingresso InputMin

Tipo di parametro Ingresso
Ingresso
Ingresso

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.,

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue l'equazione per scalare.

FALSE: nessuna equazione per scalare.

Applicabile solo alle programmazioni in Ladder Diagram.

REAL

Ingresso segnale. L'ingresso non è limitato da InputMin e InputMax. Per limitare l'ingresso, è

necessaria un'istruzione LIM_ALRM che definisca le condizioni dell'ingresso prima che venga

inserito nell'istruzione SCALER.

REAL

Determina la pendenza e il valore dell'offset.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

535

Capitolo 19 Istruzioni di controllo dei processi

Parametro
InputMax OutputMin OutputMax Uscita ENO

Tipo di parametro Ingresso Ingresso
Ingresso Uscita Uscita

Tipo di dati
REAL REAL REAL REAL BOOL

Descrizione
Determina la pendenza e il valore dell'offset. Determina la pendenza e il valore dell'offset. Determina la pendenza e il valore dell'offset. Uscita scalata. Uscita non limitata da OutputMin e OutputMax. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di Programmazione a blocchi funzionali SCALER

Esempio di Diagramma ladder SCALER

536

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19
Esempio di Testo strutturato SCALER

Istruzioni di controllo dei processi

(* Equivalenza ST: SCALER1 è un'istanza del blocco SCALER *)
SCALER1(Signal_In, 4.0, 20.0 , 0.0 , 150.0 ) ; Out_Temp := SCALER1.Output ;
Risultati

Vedere anche
Istruzioni di controllo dei processi a pagina 503

STACKINT (valori interi dello stack)

Gestisce uno stack di valori interi.
Dettagli operazione:
· STACKINT include un rilevamento di fronte di salita per entrambi i comandi PUSH e POP. La dimensione massima dello stack è 128. Il valore OFLO è valido solo dopo un ripristino (R1 è stato impostato su TRUE almeno una volta e quindi reimpostato su FALSE).
· La dimensione (N) dello stack definita dall'applicazione non può essere minore di 1 o maggiore di 128.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

537

Capitolo 19

Istruzioni di controllo dei processi
· Se N < 1, STACKINT assume una dimensione pari a 1. · se N > 128, STACKINT assume una dimensione pari a 128.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro PUSH
POP
R1 IN N EMPTY OFLO
OUT

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Ingresso

BOOL

Ingresso

BOOL

Ingresso

DINT

Ingresso

DINT

Uscita

BOOL

Uscita

BOOL

Uscita

DINT

TRUE: fronte di salita rilevato, su comando PUSH. Aggiunge il valore IN all'inizio dello stack. FALSE: fronte di salita non rilevato su comando PUSH. TRUE: fronte di salita rilevato, su comando PUSH. Elimina l'ultimo valore inviato tramite push all'inizio dello stack. FALSE: fronte di salita non rilevato su comando POP. TRUE: esegue il reset dello stack allo stato vuoto. FALSE: nessun reset. Valore spinto. Dimensione dello stack definita dall'applicazione. La dimensione massima dello stack è 128. TRUE: se lo stack è vuoto. FALSE: lo stack contiene valori. TRUE: Overflow, lo stack è pieno e R1 è stato impostato su TRUE almeno una volta e di nuovo su FALSE. FALSE: la dimensione dello stack è 128 o meno. Nessun overflow. Valore in cima allo stack. OUT uguale a 0 quando OFLO è TRUE.

538

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19 Istruzioni di controllo dei processi
Esempio di Programmazione a blocchi funzionali STACKINT
Esempio di Diagramma ladder STACKINT

Esempio di Testo strutturato STACKINT

(* Equivalenza ST: STACKINT1 è un'istanza del blocco STACKINT *)
STACKINT1(err_detect, acknowledge, manual_mode, err_code, max_err);

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

539

Capitolo 19

Istruzioni di controllo dei processi appli_alarm := auto_mode AND NOT(STACKINT1.EMPTY); err_alarm := STACKINT1.OFLO; last_error := STACKINT1.OUT;

Risultati

Vedere anche
Istruzioni di controllo dei processi a pagina 503

SCL

Converte un valore di ingresso REAL non scalato in un valore in virgola mobile REAL espresso in unità ingegneristiche e include allarmi e limiti

dell'uscita.

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

540

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19 Istruzioni di controllo dei processi
Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro Enable
In InRawMax InRawMin InEUMax InEUMin

Tipo di parametro Ingresso
Ingresso Ingresso Ingresso Ingresso Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

TRUE: fronte di salita rilevato.

· Se InRawMin >= InRawMax, Status.0 e Status.1 i bit sono impostati su 1. Done è cancellato, MaxAlarm e MinAlarm sono cancellati. Errore è impostato su TRUE ed ErrorID è impostato su 1.

· Else Out è calcolato per primo. Vengono poi verificate le condizioni di allarme. Se MaxAlarm è impostato, MinAlarm è cancellato e viceversa. Quindi se la limitazione è impostata, Out sarà nell'intervallo di InEUMin e InEUMax. Quindi il bit Done è impostato su TRUE. I bit Stato sono impostati su 0. Errore ed ErrorID sono impostati su 0.

· Il valore Out calcolato viene confrontato con NAN (non un numero). Se NAN è il valore Out, EnableOut è cancellato. Done è cancellato se la condizione di errore è impostata.

FALSE: fronte di salita non rilevato.

· L'istruzione non viene eseguita.

· Le uscite non sono aggiornate. ma Error, ErrorID, EnableOut e Done sono impostati su 0.

REAL

Il segnale d'ingresso analogico.

Valido = qualsiasi mobile

Predefinito = 0,0

REAL

Il valore massimo raggiungibile dall'ingresso all'istruzione. Se InRawMax<= InRawMin,

l'istruzione imposta il bit appropriato in Stato; Error. ErrorID sono aggiornati.

L'aggiornamento Out viene interrotto.

Valido = InRawMax > InRawMin

Predefinito =0,0

REAL

Il valore minimo raggiungibile dall'ingresso all'istruzione. Se InRawMin >= InRawMax,

l'istruzione imposta il bit appropriato in Stato ed Error. ErrorID sono aggiornati.

L'aggiornamento Out viene interrotto.

Valido = InRawMin < InRawMax

Predefinito = 0,0

REAL

Il valore scalato dell'ingresso corrispondente a InRawMax.

Valido = qualsiasi valore reale

Predefinito = 0,0

REAL

Il valore scalato dell'ingresso corrispondente a InRawMin.

Valido = qualsiasi valore reale

Predefinito = 0,0

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

541

Capitolo 19 Parametro Limitazione
Done

Istruzioni di controllo dei processi

Tipo di parametro

Tipo di dati

Ingresso

BOOL

Uscita

BOOL

EnableOut

Uscita

BOOL

Out

Uscita

REAL

MaxAlarm

Uscita

BOOL

MinAlarm

Uscita

BOOL

Stato

Uscita

DINT

Errore

Uscita

BOOL

ErrorID

Uscita

BOOL

Descrizione
Selettore di limitazione. TRUE: Out limitato tra InEUMin e InEUMax. Indica quando l'operazione viene completata. TRUE: operazione completata correttamente. FALSE: si è verificata una condizione di errore per l'operazione o Enable è impostato su FALSE. Indica che l'istruzione è abilitata. Imposta su False se Out è in overflow.
Rappresenta il valore scalato dell'ingresso analogico. Indicatore di allarme ingresso massimo. Il valore è impostato su TRUE quando Ingresso > InRawMax.
Indicatore di allarme ingresso minimo. Il valore è impostato su TRUE quando Ingresso < InRawMin. Stato del blocco funzione. InstructFault (Status.0) Verrà impostato dopo il rilevamento degli errori di esecuzione dell'istruzione. Non si tratta di un errore del controllore grave o di minore entità. Verificare i bit di stato rimanenti per determinare ciò che è accaduto. InRawRangeInv (Status.1) InRawMin >= InRawMax L'intervallo Status.3 - Status.31 è riservato a uso futuro e il relativo valore è 0. Indica la presenza di una condizione di errore. TRUE: l'operazione ha riscontrato un errore. FALSE: l'operazione è stata completata o l'istruzione non è in esecuzione. Numero univoco che identifica l'errore. Gli errori sono definiti nei codici di errore.

Codice errore

Codice ErrorID

Descrizione errore

1

InRawMax<= InRawMin

Esempio di programmazione a blocchi funzionali SCL

542

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19
Esempio di Diagramma ladder SCL

Istruzioni di controllo dei processi

Esempio di Testo strutturato SCL

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

543

Capitolo 19 Istruzioni di controllo dei processi

Vedere anche
Istruzioni di controllo dei processi a pagina 503 Diagrammi di temporizzazione dell'istruzione SCL a pagina 544

Esempi di diagrammi di temporizzazione dell'istruzione SCL

Gli esempi di diagramma di temporizzazione seguenti descrivono scenari di esecuzione per l'istruzione SCL.
Completamento dell'esecuzione SCL

Ciclo di scansione 1
2, 3 4
5, 6, 7 8

Descrizione
Se Enable è impostato su TRUE e i parametri di ingresso sono validi e compresi nell'intervallo, viene avviata l'esecuzione del blocco funzione. · Done ed EnableOut sono impostati su TRUE. · Out è calcolato in base agli ingressi forniti. · MaxAlarm, MinAlarm, ed Error sono impostati su FALSE. · Status ed ErrorID e Status sono impostati su 0 poiché non è stato generato alcun errore. Nessuna modifica nella condizione ramo.
Se Enable è impostato su FALSE, viene arrestata l'esecuzione del blocco funzione. · Done, EnableOut ed Error sono impostati su FALSE. · ErrorID è impostato su 0. · Out, MaxAlarm, MinAlarm e Status mantiene l'ultimo valore. Nessuna modifica nella condizione ramo. · Se Enable è impostato su TRUE e i parametri di ingresso sono validi e compresi nell'intervallo, viene avviata l'esecuzione del blocco funzione. · Done ed EnableOut sono impostati su TRUE. · Out è calcolato in base agli ingressi forniti. · MaxAlarm, MinAlarm, ed Error sono impostati su FALSE. · ErrorID e Status sono impostati su 0 poiché non è stato generato alcun errore.

544

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Ciclo di scansione 9
10, 11

Descrizione
Se Enable è impostato su FALSE, viene arrestata l'esecuzione del blocco funzione. · Done, EnableOut ed Error sono impostati su FALSE. · ErrorID è impostato su 0. · Out, MaxAlarm, MinAlarm e Status mantiene l'ultimo valore. Nessuna modifica nella condizione ramo.

Capitolo 19

Istruzioni di controllo dei processi

Esecuzione SCL non riuscita

Nel seguente esempio, tutti i parametri di ingresso sono validi e compresi nell'intervallo, ma InRawMin >= InRawMax. Nel ciclo di scansione 1 e 8, se Enable è impostato su TRUE e viene avviata l'esecuzione del blocco funzione, Error è impostato su True ed ErrorID è impostato su 1.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

545

Capitolo 19

Istruzioni di controllo dei processi
Generazione di MaxAlarm

Nell'esempio del ciclo di scansione 8, tutti i parametri di ingresso sono validi e compresi nell'intervallo, ma In > InRawMax. Se Enable è impostato su TRUE e viene avviata l'esecuzione del blocco funzione, MaxAlarm è impostato su TRUE.
Generazione di MinAlarm

Nell'esempio del ciclo di scansione 8, tutti i parametri di ingresso sono validi e compresi nell'intervallo, ma In < InRawMin. Se Enable è impostato su TRUE e viene avviata l'esecuzione del blocco funzione, MinAlarm è impostato su TRUE.

546

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 19 Istruzioni di controllo dei processi
Errore di configurazione ingresso e condizione di overflow uscita

Nell'esempio del ciclo di scansione 3, tutti i parametri di ingresso del blocco funzione sono validi e compresi nell'intervallo, ma si verifica un overflow dell'uscita a causa dei parametri di ingresso. EnableOut è impostato su FALSE. Il valore di Out non è valido.
Nell'esempio del ciclo di scansione 8, i parametri di ingresso del blocco funzione sono validi e rientrano nell'intervallo, ma si verifica un overflow dell'uscita a causa dei parametri di ingresso e di InRawMin >= InRawMax, Error è impostato su TRUE. ErrorID è impostato su 1 e Status è impostato su 3.
Vedere anche
SCL a pagina 540

TND (interruzione programma corrente)

Arresta il ciclo di scansione del programma utente in corso Dopo la scansione dell'uscita e dell'ingresso e alcune operazioni di manutenzione, il programma dell'utente viene rieseguito dall'inizio della prima routine.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

547

Capitolo 19

Istruzioni di controllo dei processi
Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Parametro

Tipo di parametro Tipo di dati

Descrizione

Enable

Ingresso

BOOL

TND

Uscita

BOOL

Abilitare funzione. Quando Enable = TRUE, esegue la funzione. Quando Enable = FALSE, non esegue la funzione. Se TRUE la funzione viene eseguita. se il monitoraggio delle variabili è attivo, il valore della variabile di monitoraggio viene assegnato all'uscita dell'istruzione. Se il monitoraggio delle variabili è inattivo, il valore della variabile di uscita viene assegnato all'uscita dell'istruzione.

Esempio di programmazione a blocchi funzionali TND

Esempio di diagramma ladder TND Esempio di testo strutturato TND

(* Equivalenza ST: *) TESTOUTPUT := TND(TESTENABLE) ;

548

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 19 Istruzioni di controllo dei processi

LIMIT (prova limite)

Vedere anche
Istruzioni di controllo dei processi a pagina 503
riduce i valori interi a un intervallo definito. I valori interi compresi tra il minimo e il massimo non sono modificati. I valori interi superiori al massimo sono sostituiti con il valore massimo. I valori interi inferiori al minimo sono sostituiti con il valore minimo. Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
MIN IN MAX LIMIT ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Ingresso

DINT

Ingresso

DINT

Ingresso

DINT

Uscita

DINT

Abilitare funzione. TRUE: esegue il calcolo corrente LIMIT. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Valore minimo supportato.
Qualunque valore intero con segno. Valore massimo supportato.
Valore di ingresso vincolato all'intervallo supportato.

Uscita

BOOL

Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

549

Capitolo 19

Istruzioni di controllo dei processi
Esempio di programmazione a blocchi funzionali LIMIT

Esempio di diagramma ladder LIMIT

Esempio di testo strutturato LIMIT

(* Equivalenza ST: *) nuovo_valore := LIMIT (valore_min, valore, valore_max); (* vincola il valore al gruppo [valore_min..valore_max] *)

550

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 19 Istruzioni di controllo dei processi

Vedere anche
Istruzioni di controllo dei processi a pagina 503

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

551

Capitolo 20
Istruzione per il controllo del programma

Istruzione
AFI a pagina 553 NOP a pagina 553 SUS a pagina 554

Usare l'istruzione per il controllo del programma per controllare le istruzioni contemporaneamente da un programma utente e da un dispositivo dell'interfaccia operatore.
Descrizione
Disabilita un ramo.
Funziona come segnaposto. Sospende l'esecuzione del controllore Micro800.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

AFI (sempre false)

All'inizio di un ramo, utilizzare le istruzioni AFI per disabilitare temporaneamente un ramo quando si esegue il debug senza necessità di cancellarlo dal programma. L'uscita di questa istruzione è sempre FALSE.

Linguaggi supportati: Diagramma ladder. Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.
Vedere anche
Istruzione per il controllo del programma a pagina 553

NOP (nessuna operazione)

L'istruzione NOP funziona come segnaposto. È possibile posizionare l'istruzione NOP in qualsiasi punto del ramo.

Linguaggi supportati: Diagramma ladder.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

553

Capitolo 20

Istruzione per il controllo del programma
Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Vedere anche
Istruzione per il controllo del programma a pagina 553

SUS (sospensione)

Sospende l'esecuzione del <controllore M800>. Il controllore resta in modalità RUN ma l'esecuzione viene sospesa indefinitamente. La sospensione serve a trovare gli errori del programma utente e aiuta nel monitoraggio del programma utente. Mettere l'istruzione SUS nelle sezioni del programma utente in cui bloccare condizioni inusuali. In modalità sospensione, RUN LED è impostato su OFF per indicare che lo scan del programma è Idle.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro Enable
SusID ENO

Tipo di parametro Ingresso
Ingresso Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue la funzione.

FALSE: non esegue la funzione.

UINT

ID sospensione.

BOOL

Abilita uscita.

Applicabile solo alle programmazioni in Ladder Diagram.

Esempio di Programmazione a blocchi funzionali SUS

554

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 20
Esempio di Diagramma ladder SUS

Istruzione per il controllo del programma

Esempio di Testo strutturato SUS

Risultati

Vedere anche
Istruzione per il controllo del programma a pagina 553

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

555

Capitolo 21
Istruzione proporzionale integrale derivativa (PID)

Utilizzare le istruzioni PID (Proportional-Integral-Derivative) per controllare il processo con maggiore precisione tramite la funzionalità PID.

Istruzione

Descrizione

IPIDCONTROLLER a pagina 557

Configurare e controllare gli ingressi e le uscite utilizzate per la logica proporzionaleintegrale-derivativa (PID).

PID a pagina 586

Configura e controlla le uscite che controllano le proprietà fisiche come la temperatura, la pressione, il livello dei liquidi o la portata tramite cicli di processo.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

Che cos'è il controllo proporzionale integrale derivativo (PID)?

Il controllo proporzionale integrale derivativo (PID) permette al controllo di processo di mantenere in modo accurato il setpoint regolando le uscite del controllo. Un blocco funzione PID combina tutta la logica necessaria all'esecuzione del controllo proporzionale integrale derivativo (PID).
Vedere anche
Istruzione proporzionale integrale derivativa (PID) a pagina 557 Operazione del blocco funzione IPIDController a pagina 564 Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565

IPIDCONTROLLER (controllore proporzionale­ integrale­derivativo)

Configurare e controllare gli ingressi e le uscite utilizzate per la logica proporzionale-integrale-derivativa (PID). La logica PID serve per controllare le proprietà fisiche quali temperatura, pressione, liquido, livello o portata tramite cicli di processo che calcolano un valore di errore come la differenza tra un setpoint desiderato e una variabile di processo misurata. Il controllore tenta di ridurre al minimo l'errore nel tempo attraverso la regolazione di una variabile di controllo. Il calcolo

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

557

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
include termini proporzionali (P), integrali (I) e derivativi (D) che vengono utilizzati come segue:
P: valori di errore presenti.
I: valori di errore passati.

D: possibili valori di errori futuri in base alla velocità corrente di modifica che controlla proprietà fisiche quali temperatura, pressione, livello dei liquidi o portata tramite cicli di processo.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
Process SetPoint Feedback
Auto Inizializza
558

Tipo di parametro Ingresso
Ingresso Ingresso Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Se TRUE, abilita il blocco istruzione.

TRUE: esegue il calcolo PID.

FALSE: il blocco istruzione non è attivo.

Applicabile alle programmazioni in Ladder Diagram.

REAL

Valore di processo, ovvero il valore misurato all'uscita del processo.

REAL

Set point.

REAL

Segnale di feedback, ovvero il valore della variabile di controllo applicato al processo.

Ad esempio, il feedback può essere l'uscita IPIDCONTROLLER.

Ingresso

BOOL

Ingresso

BOOL

La modalità operativa del controllore PID: · TRUE: il controllore funziona in modalità normale. · FALSE: il controllore provoca la reimpostazione R alla traccia (F-GE).
Una modifica del valore (da TRUE a FALSE o da FALSE a TRUE) causa l'eliminazione di qualsiasi guadagno proporzionale da parte del controllore durante quel ciclo. Inoltre, inizializza le sequenze AutoTune.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro Gains AutoTune

Tipo di parametro Ingresso
Ingresso

Tipo di dati GAIN_PID BOOL

ATParameters
Uscita AbsoluteError ATWarnings

Ingresso
Uscita Uscita Uscita

AT_Param
REAL REAL DINT

OutGains ENO

Uscita Uscita

GAIN_PID BOOL

Capitolo 21 Descrizione

Istruzione proporzionale integrale derivativa (PID)

Guadagni PID per IPIDController. Utilizzare il tipo di dati GAIN_PID per definire i parametri per l'ingresso Gains.

TRUE: se Auto è TRUE e Auto e Initialize sono su FALSE, la sequenza AutoTune è stata avviata. FALSE: Autotune non avviato. Parametri Auto Tune. Utilizzare il tipo di dati AT_Param per definire i parametri per l'ingresso ATParameters.
Valore di uscita dal controllore.
Errore assoluto (Process ­ SetPoint) dal controllore.
(ATWarning) Avviso per la sequenza Auto Tune. I possibili valori sono: · 0: nessuna sintonizzazione automatica eseguita. · 1 - In modalità auto tuning. · 2 - Auto tuning eseguito. · -1 - ERROR 1, ingresso impostato automaticamente su TRUE, nessun auto tuning
possibile. · -2 - ERROR 2, errore auto tune, ATDynaSet scaduto.
Guadagni calcolati dopo le sequenze AutoTune. Utilizzare il tipo di dati GAIN_PID per definire l'uscita OutGains.
Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di Programmazione a blocchi funzionali IPIDCONTROLLER

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

559

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
Esempio di diagramma ladder IPIDCONTROLLER

Esempio di Testo strutturato IPIDCONTROLLER

(* Equivalenza ST: IPIDController1 è un'istanza del blocco IPIDController *)

IPIDController1(Proc,
SP, FBK, Auto, Init, G_In, A_Tune, A_TunePar, Err );
Out_process := IPIDController1.Output ;
A_Tune_Warn := IPIDController1.ATWarning ;
Gain_Out := IPIDController1.OutGains ;

560

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

Vedere anche
Tipo di dati AT_Param a pagina 562 Tipo di dati GAIN_PID a pagina 561 Operazione del blocco funzione IPIDController a pagina 564 Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565 Che cos'è il controllo proporzionale integrale derivativo (PID)? a pagina 557

Tipo di dati GAIN_PID

La tabella seguente descrive il tipo di dati GAIN_PID per l'istruzione IPIDCONTROLLER.

Parametro

Tipo di dati Descrizione

DirectActing

BOOL

Tipo di azionamento:

· TRUE: azionamento diretto, l'uscita si sposta nella stessa direzione dell'errore. Ovvero, il valore attuale del processo è

maggiore del SetPoint e l'azione appropriata del controllore è di incrementare l'uscita, ad esempio: raffreddamento.

· FALSE: azionamento inverso, l'uscita si sposta nella direzione opposta all'errore. Ovvero, il valore attuale del processo è

maggiore del SetPoint e l'azione appropriata del controllore è di diminuire l'uscita, ad esempio: riscaldamento.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

561

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

Parametro

Tipo di dati Descrizione

ProportionalGain

REAL

TimeIntegral

REAL

TimeDerivative

REAL

DerivativeGain

REAL

Guadagno proporzionale per PID (>= 0,0001). Quando ProportionalGain è (< 0,0001), ProportionalGain = 0,0001 Guadagno proporzionale per PID (P_Gain) Un guadagno proporzionale maggiore provoca una modifica maggiore nell'uscita in base alla differenza tra il PV (valore di processo misurato) e SV (valore punto preimpostato). Maggiore è il guadagno, più rapidamente l'errore diminuisce, ma ciò potrebbe comportare instabilità come oscillazioni. Minore è il guadagno, più lentamente l'errore diminuisce, ma il sistema è più stabile e meno sensibili a grandi errori. Il P_Gain è in genere il guadagno più importante per regolare e il primo guadagno da regolare durante la regolazione.
Valore integrale di tempo per PID in secondi (>= 0,0001). Quando TimeIntegral è (< 0,0001), TimeIntegral = 0,0001 Valore integrale di tempo per PID Una costante di tempo integrale minore provoca una modifica più rapida nell'uscita in base alla differenza tra il PV (valore di processo misurato) e SV (valore punto preimpostato) integrato questo periodo di tempo. Una costante di tempo integrale minore diminuisce l'errore stabile (errore quando SV non viene modificato) ma aumenta le possibilità di instabilità come oscillazioni. Una costante di tempo integrale maggiore rallenta la risposta del sistema e lo rende più stabile, ma PV si avvicina a SV a una velocità inferiore.
Valore derivativo di tempo per PID in secondi (> 0,0). Quando TimeDerivative è (< = 0,0), TimeDerivative = 0,0 Quando TimeDerivative è = 0, IPID agisce come PI. Valore derivativo di tempo per PID (Td). Una costante di tempo derivativa minore provoca una modifica più rapida nell'uscita basata sulla velocità di modifica della differenza tra PV (valore di processo misurato) e SV (valore punto preimpostato). Una costante di tempo derivativa minore rende un sistema più efficiente nel reagire a modifiche improvvise in caso di errore (SV viene modificato) ma aumenta le possibilità di instabilità, come oscillazioni. Una costante di tempo maggiore rende un sistema meno efficiente nel rispondere alle modifiche improvvise in caso di errore, ma il sistema è meno soggetto a modifiche nel PV dovute a rumore e passaggi. TimeDerivative (Td) è correlato al guadagno derivativo, ma consente di regolare il contributo derivativo al PID mediante l'ora in modo che il tempo di campionamento venga preso in considerazione.
Guadagno derivativo per PID (> 0,0). Quando DerivativeGain è (< 0,0), DerivativeGain = 0,1 Guadagno derivativo per PID (D_Gain) Un guadagno derivativo maggiore provoca una modifica maggiore nell'uscita basata sulla velocità di modifica della differenza tra PV (valore di processo misurato) e SV (valore punto preimpostato). Un guadagno maggiore rende un sistema più efficiente nel rispondere a modifiche improvvise in caso di errore, ma aumenta le possibilità di instabilità, come oscillazioni. Un guadagno minore rende un sistema meno efficiente nel rispondere alle modifiche improvvise in caso di errore, ma rende il sistema meno soggetto a modifiche nel PV dovute a rumore e passaggi.

Vedere anche
IPIDCONTROLLER a pagina 557

Tipo di dati AT_Param
Parametri Load
Deviation Passo ATDynamSet

Nella tabella seguente sono descritti i parametri del tipo di dati AT_Param.

Tipo di dati Descrizione

REAL

Parametro di carico per auto tuning. Valore di uscita quando si avvia AutoTune.

REAL

Deviazione per auto tuning. Deviazione standard usata per calcolare la noise band necessaria per

AutoTune.

REAL

Valore del passo per AutoTune. Deve essere maggiore della noise band e minore di ½ Load.

REAL

Tempo di attesa in secondi prima di abbandonare auto tune.

562

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri ATReset

Tipo di dati Descrizione

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

BOOL

Indica se il valore di uscita viene ripristinato a zero dopo una sequenza di AutoTune:

· TRUE - Ripristina l'uscita a zero.

· FALSE: lascia l'uscita sul valore Load.

Vedere anche
IPIDCONTROLLER a pagina 557 Creazione di un ciclo di feedback per il valore manipolato a pagina 579

Modalità di implementazione

Il blocco funzione IPIDController, disponibile nel set di istruzioni di Connected Components Workbench, si basa sulla teoria del controllo

del controllo PID da parte PID e combina tutta la logica necessaria all'esecuzione

del blocco funzione IPIDController

dell'elaborazione del canale di ingresso analogico e del controllo proporzionale integrale derivativo (PID). In HMI, il faceplate IPID è disponibile per l'uso con il blocco di funzione IPIDController.

Descrizione del blocco di funzione IPIDController
Il blocco di funzione IPIDController utilizza i seguenti componenti per il blocco di funzione:
· R: Azionamento (+/- 1) · PG: Guadagno proporzionale · DG: Guadagno filtro derivato · td: ãD · ti: ãI

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

563

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
Prevenzione della carica integrale
Se la differenza tra il valore del setpoint e del processo è ampia, il valore dell'uscita aumenterà in modo significativo e durante il tempo che impiega a diminuire il processo non sarà sotto controllo. Il blocco di funzione IPIDController traccia il feedback in modo interattivo e previene la carica integrale. Quando l'uscita è satura, il termine integrale nel controllore viene rielaborato, in modo che il nuovo valore fornisca un'uscita al limite della saturazione.

Vedere anche
Istruzione proporzionale integrale derivativa (PID) a pagina 557 Operazione del blocco funzione IPIDController a pagina 564 Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565

Operazione del blocco funzione IPIDController

Quando Input Auto è TRUE, IPIDController funziona in modalità normale automatica.
Quando Input Auto è FALSE, causa il ripristino di R per il tracciamento (F-GE), forzando l'uscita IPIDController a tracciare il feedback entro i limiti di IPIDController. A questo punto il controllore ritorna in modalità automatica senza l'incremento dell'uscita.

Per il parametro di ingresso Initialize, il passaggio da FALSE a TRUE o da TRUE a FALSE quando AutoTune è FALSE, comporta che IPIDController elimini qualsiasi azione di guadagno proporzionale durante il dato ciclo (ad esempio, Initialize). Utilizzare questo processo per prevenire il bumping dell'uscita quando si effettuano modifiche al SetPoint mediante un blocco funzione dell'interruttore.

564

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)
Per eseguire una sequenza AutoTune:
Per eseguire una sequenza AutoTune, ATParameters di ingresso devono essere completati. I parametri Input Gain e DirectActing devono essere impostati in base al processo e all'impostazione di DerivativeGain (di solito 0,1). La sequenza AutoTune viene avviata con la seguente sequenza:
1. Impostare il parametro di ingresso Initialize su TRUE. 2. Impostare il parametro di ingresso Autotune su TRUE. 3. Cambiare il parametro di ingresso Initialize su FALSE. 4. Attendere finché il parametro di uscita ATWarning non passa a 2. 5. Trasferire i valori del parametro di uscita OutGains al parametro
di ingresso Gains.
Per finalizzare la regolazione, potrebbe essere necessario eseguire una regolazione fine in funzione dei requisiti e dei processi. Quando si imposta TimeDerivative a 0,0, IPIDController forza DerivativeGain a 1,0 e quindi funziona come un controllore PI.
Vedere anche
Istruzione proporzionale integrale derivativa (PID) a pagina 557
Che cos'è il controllo proporzionale integrale derivativo? a pagina 557
Modalità di implementazione del controllo PID da parte del blocco funzione IPIDController a pagina 563
Operazione del blocco funzione IPIDController a pagina 564
Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565

Utilizzo dell'istruzione proporzionale integrale derivativa

Questa sezione fornisce dettagli ed esempi specifici per l'utilizzo dell'istruzione proporzionale integrale derivativa, inclusi i seguenti argomenti:
Esempio: come creare un ciclo di feedback per il valore manipolato
L'aggiunta di un ciclo di feedback per il valore manipolato previene la sovraelongazione eccessiva fornendo un valore minimo e massimo per MV.

Esempio ciclo di feedback sulla temperatura
All'inizio del processo di controllo della temperatura la differenza tra il valore di processo (PV) e il valore setpoint (SP) è ampia, come mostrato nel seguente grafico. In questo esempio di ciclo di feedback sulla temperatura, PV inizia con 0 gradi Celsius e si sposta verso il

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

565

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
valore SP di 40 gradi Celsius. Tenere anche presente che la fluttuazione tra il valore alto e basso manipolato (MV) scende e si stabilizza nel tempo. Il comportamento di MV dipende dai valori usati in ciascuno dei parametri P, I e D.

IPIDController con ciclo di feedback
Il seguente diagramma a blocchi funzionali include un ciclo di feedback per il valore manipolato che previene la sovraelongazione eccessiva fornendo un valore minimo e massimo per MV.

Esempio: come implementare l'auto tuning in un blocco funzione IPIDController
Utilizzare il parametro AutoTune del blocco funzione IPIDController per implementare l'auto tuning nel programma di controllo.

566

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)
Requisiti e raccomandazioni per l'auto tuning
Di seguito è riportato un riepilogo dei requisiti e delle raccomandazioni per la corretta implementazione dell'auto tuning.
· L'auto tuning deve causare l'oscillazione dell'uscita del ciclo di controllo, vale a dire che l'IPIDController deve essere richiamato con una certa frequenza per una campionatura adeguata dell'oscillazione.
· Il blocco funzione IPIDController deve essere eseguito con un intervallo relativamente costante.
· Configurare il tempo di scansione del programma alla metà dell'intervallo di oscillazione.
· Considerare l'utilizzo di un blocco di istruzioni Interruzione testo strutturato (STI) per controllare il blocco di istruzioni IPIDController.
Esempio: come aggiungere un UDFB a un programma PID
Aggiungere UDFB esternamente al programma principale per eseguire funzioni specializzate, come conversione di unità o trasferimento di valori.
Trasferimento del valore di guadagno con auto tuning
Questo UDFB trasferisce il valore del guadagno AutoTune a My_GainTransfer per l'utilizzo da parte del controllore.
Conversione di un valore manipolato in un'uscita digitale
Questo UDFB converte un valore manipolato (MV) in un'uscita digitale (DO) in modo che sia possibile usarlo per controllare un ingresso digitale n(DI).

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

567

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
Conversione di un valore manipolato in un'uscita analogica
Questo UDFB converte un valore manipolato (MV) in un'uscita analogica (AO) in modo che sia possibile usarlo per controllare un ingresso analogico (AI).

Vedere anche

Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565
Istruzione proporzionale integrale derivativa (PID) a pagina 557
Che cos'è il controllo proporzionale integrale derivativo? a pagina 557

Operazione del blocco funzione IPIDController a pagina 564
Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565

Utilizzo dell'auto tuning con il blocco funzione IPIDController

Utilizzare il parametro AutoTune del blocco funzione IPIDController per implementare l'auto tuning nel programma di controllo.
Requisiti e raccomandazioni per l'auto tuning

Di seguito è riportato un riepilogo dei requisiti e delle raccomandazioni per la corretta implementazione dell'auto tuning.

· L'auto tuning deve causare l'oscillazione dell'uscita del ciclo di controllo, vale a dire che l'IPIDController deve essere richiamato con una certa frequenza per una campionatura adeguata dell'oscillazione.
· Il blocco funzione IPIDController deve essere eseguito con un intervallo relativamente costante.
· Configurare il tempo di scansione del programma alla metà dell'intervallo di oscillazione.
· Considerare l'utilizzo di un blocco istruzione STI (Selectable Timed Interrupt) per controllare il blocco istruzione IPIDController.

Vedere anche

Istruzione proporzionale integrale derivativa (PID) a pagina 557

568

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)
Che cos'è il controllo proporzionale integrale derivativo? a pagina 557
Operazione del blocco funzione IPIDController a pagina 564
Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565

Auto tuning in sistemi di primo e secondo ordine

Utilizzare l'auto tuning in un sistema di primo ordine in cui è utilizzato un solo elemento oppure in un sistema di secondo ordine in cui sono utilizzati due elementi indipendenti.

Un sistema di primo ordine prevede un solo elemento indipendente di accumulazione di energia. Gli esempi includono:

· Raffreddamento di un serbatoio per fluidi, con accumulazione di energia termica.
· Flusso o fluido da un serbatoio, con accumulazione di energia potenziale.
· Un motore a coppia costante che controlla un volano, con accumulazione di energia cinetica rotazionale.
· Una rete elettrica RC ad anticipo di fase, con accumulazione di energia capacitiva.
In un sistema di primo ordine la funzione può essere scritta in forma standard, come f(t) =  dy/dt + y(t)

Dove:

Variabile t
f y

Descrizione Costante di tempo del sistema
Forzatura della funzione Variabile di stato del sistema

Esempio: Raffreddamento di un serbatoio per fluidi utilizzando l'energia termica come elemento di accumulazione
È uguale a RC Dove R = resistenza termica delle pareti del serbatoio C = capacità termica del fluido È la temperatura ambiente È la temperatura del fluido

Un sistema di secondo ordine prevede due elementi per l'accumulazione di energia che scambiano l'energia accumulata. Gli esempi includono:

· Un motore che comanda un volano disco con motore accoppiato al volano mediante un albero con rigidità torsionale; energia cinetica rotazionale ed energia della molla torsionale sono le unità di memorizzazione.
· Un circuito elettrico composto da un generatore di corrente che alimenta un induttore e un resistore in serie (LR) con un condensatore (C) in derivazione. Vengono accumulate l'energia induttiva e l'energia capacitiva.
I sistemi azionati a motore e i sistemi di riscaldamento di norma possono essere modellati in base a un circuito elettrico LR e C.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

569

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
Vedere anche
Utilizzo dell'auto tuning con il blocco funzione IPIDController a pagina 568

Configurazione dell'auto tuning

Seguire questa procedura generale per l'implementazione dell'auto tuning utilizzando la funzione IPIDController.

N. Passo

1

Ripristinare il setpoint su zero.

Esempio

570

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

N. Passo

Esempio

2 Impostare la modalità automatica su False.

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

3 Impostare i parametri Gains.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

571

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)

N. Passo

Esempio

4 Impostare i parametri di auto tuning. Impostare i parametri di auto tuning, compresi il valore di carico iniziale, la variazione del passo dell'uscita, il tempo previsto per il completamento dell'auto tuning e ripristino dell'auto tuning.

572

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

N. Passo
5 Impostare i parametri Initialize e Auto-Tune su True.

Esempio

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

6 Notare che l'uscita viene impostata sul valore di carico quando si imposta il parametro Auto-Tune su True.

7

Osservare l'incremento rapido del

valore di processo, finché non si

avvicina al punto di saturazione.

8 Osservare la stabilizzazione del valore di processo e la sua fluttuazione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

573

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)

N. Passo 9 Impostare la deviazione.

Esempio

10 Impostare Initialize su False.

574

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

N. Passo
11 Il controllore avvia l'auto tuning. Attendere l'impostazione di ATWarning su 2.

Esempio

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

12 Impostare AutoTune su False.

13 Osservare i valori presenti in OutGains dopo l'auto tuning.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

575

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)

N. Passo

Esempio

14 Trasferire il parametro da OutGain a My_Gains.

15 Osservare se il controllore è aggiornato con il parametro del guadagno ottenuto dopo l'auto tuning.

576

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Vedere anche

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

Utilizzo dell'auto tuning con il blocco funzione IPIDController a pagina 568

Utilizzo di un STI (Selectable Timed Interrupt) con auto tuning

Sebbene un'istruzione PID funzioni anche se non è controllata da STI (Selectable Timed Interrupt), l'utilizzo di un STI aumenta la percentuale di successo dell'auto tuning perché quest'ultimo funziona in base a un ciclo fisso.

Vedere anche
Utilizzo dell'auto tuning con il blocco funzione IPIDController a pagina 568
Esempio: IPIDController con Nel programma dell'esempio seguente sono illustrate le variabili
impiegate per configurare i parametri di auto tuning.
auto tuning

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

577

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
Parametri di auto tuning

Nella tabella seguente sono descritte le variabili utilizzate con ciascun parametro dell'esempio per configurare l'auto tuning.

Parametri di ingresso
Variabile AutoMode

Parametri Auto

Descrizione
La modalità operativa del controllore PID: TRUE: il controllore funziona in modalità normale. FALSE: il termine derivativo è ignorato, forzando il tracciamento del feedback nei limiti del controllore a livello di uscita e consentendo al controllore di tornare alla modalità automatica senza il bumping dell'uscita.

Initialize
My_Gains My_Gains.DirectActing
My_Gains.ProportionalGain My_Gains.TimeIntegral My_Gains.TimeDerivative
My_Gains.DerivativeGain AutoTune ATParameters Load Deviation
Passo ATDynaSet
ATReset Parametri di uscita Parametri AbsoluteError ATWarning
OutGains

Initialize

Inizializza la sequenza AutoTune.

In caso di modifica del valore da TRUE a FALSE o da FALSE a TRUE, il controllore elimina qualsiasi guadagno proporzionale durante il ciclo.

Gains

Stabilisce i guadagni PID per IPIDController.

DirectActing

Definisce il tipo di azionamento dell'uscita.

TRUE - Azionamento diretto in cui l'uscita si sposta nella stessa direzione dell'errore. Ovvero, il valore attuale del processo è maggiore del SetPoint e l'azione appropriata del controllore è di incrementare l'uscita. Ad esempio, raffreddamento.

FALSE - Azionamento inverso in cui l'uscita si sposta nella direzione opposta all'errore. Ovvero, il valore attuale del processo è maggiore del SetPoint e l'azione appropriata del controllore è di diminuire l'uscita. Ad esempio, riscaldamento.

ProportionalGain

Guadagno proporzionale per PID (>= 0,0001).

TimeIntegral

Valore integrale di tempo per PID (>= 0,0001).

La tendenza all'oscillazione aumenta con la diminuzione dell'integrale del tempo.

TimeDerivative

Valore derivativo di tempo per PID (> 0,0).

Lo smorzamento aumenta all'aumentare della derivata del tempo, ma si riduce se il valore della derivata del tempo è eccessivo.

Guadagno derivativo per PID (> 0,0).

Se impostato su TRUE e Auto e Initialize sono su FALSE, la sequenza AutoTune è stata avviata.

· Valore iniziale dell'uscita durante l'auto tuning. · Permette al valore di processo di stabilizzarsi sul valore di carico. · La deviazione standard per una serie di valori di processo stabilizzati. Ad esempio, se il valore di processo è
stabilizzato tra 31,4 e 32,0, il valore di deviazione sarà (32,0-31,4)/2 = 0,3. · Alcuni valori di processo, tipo quello della temperatura, richiedono molto tempo per stabilizzarsi. · Il processo di auto tuning deriva i parametri Gain in base a come il valore di processo cambia in seguito alla modifica
del valore del passo. · Tempo allocato per il completamento dell'auto tuning. Deve essere maggiore rispetto al tempo richiesto per il
processo di auto tuning. · Un valore comune per molti sistemi è 600 secondi, ma per alcuni può essere necessario più tempo. · Se TRUE, l'uscita verrà ripristinata a "0" dopo il completamento dell'auto tuning. · Se FALSE, l'uscita resterà sul valore di carico una volta completato l'auto tuning.

Descrizione Errore assoluto (Process ­ SetPoint) dal controllore. Avviso per la sequenza Auto Tune. I possibili valori sono: · 0: nessuna sintonizzazione automatica eseguita. · 1 - In modalità auto tuning. · 2 - Auto tuning eseguito. · -1 - ERROR 1, ingresso impostato automaticamente su TRUE, nessun auto tuning possibile. · -2 - ERROR 2, errore auto tuning, ATDynaSet scaduto Guadagni calcolati dopo le sequenze AutoTune.

578

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Vedere anche

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565

Esempio: come creare un ciclo di feedback per il valore manipolato

L'aggiunta di un ciclo di feedback per il valore manipolato previene la sovraelongazione eccessiva fornendo un valore minimo e massimo per MV.
Esempio ciclo di feedback sulla temperatura
All'inizio del processo di controllo della temperatura la differenza tra il valore di processo (PV) e il valore setpoint (SP) è ampia, come mostrato nel seguente grafico. In questo esempio di ciclo di feedback sulla temperatura, PV inizia con 0 gradi Celsius e si sposta verso il valore SP di 40 gradi Celsius. Tenere anche presente che la fluttuazione tra il valore alto e basso manipolato (MV) scende e si stabilizza nel tempo. Il comportamento di MV dipende dai valori usati in ciascuno dei parametri P, I e D.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

579

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
IPIDController con ciclo di feedback
Il seguente diagramma a blocchi funzionali include un ciclo di feedback per il valore manipolato che previene la sovraelongazione eccessiva fornendo un valore minimo e massimo per MV.

Vedere anche
Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565

Esempio: come aggiungere un UDFB a un programma PID

Per i programmi PID, utilizzare i blocchi funzione definiti dall'utente (UDFB) esternamente al programma principale per eseguire funzioni specializzate, come conversione di unità o trasferimento di valori. Di seguito vengono forniti degli esempi di UDFB:

Trasferimento del valore di guadagno con auto tuning
Questo UDFB trasferisce il valore del guadagno AutoTune a My_GainTransfer per l'utilizzo da parte del controllore.

Conversione di un valore manipolato in un'uscita digitale
Questo UDFB converte un valore manipolato (MV) in un'uscita digitale (DO) in modo che sia possibile usarlo per controllare un ingresso digitale n(DI).

580

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)
Conversione di un valore manipolato in un'uscita analogica
Questo UDFB converte un valore manipolato (MV) in un'uscita analogica (AO) in modo che sia possibile usarlo per controllare un ingresso analogico (AI).

Vedere anche
Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565

Esempio: come creare un programma IPIDController per controllare la temperatura

Il programma di controllo della temperatura mantiene la temperatura entro la zona di controllo.
Setpoint, processo e valori manipolati
Nella tabella seguente viene definita la modalità di utilizzo dei valori SP, PV e MV nel programma di controllo della temperatura.

Elemento
Setpoint (SP) Valore di processo (PV) Valore manipolato (MV)

Descrizione
Misurazione della temperatura in gradi Celsius; definisce la temperatura per la zona di controllo. È necessario convertirlo nella stessa unità di SP; la misura è in gradi Celsius. È necessario convertirlo in un valore analogico, in modo da essere inviato alla PWM per il controllo dell'elemento riscaldatore.

Sistema di controllo della temperatura
Il diagramma e la tabella seguenti definiscono i componenti del sistema di controllo della temperatura che sono gestiti dal programma di

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

581

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
controllo della temperatura e descrivono gli eventi che si verificano durante l'esecuzione del programma di controllo.

Sequenza di eventi per il programma di controllo della temperatura

Nella seguente tabella sono identificati i componenti del sistema di controllo della temperatura e sono descritti, in sequenza, gli eventi che si verificano durante l'esecuzione del programma di tale sistema.

No Elemento Uscita controllore Modulazione di larghezza degli impulsi (controllore temperatura PWM) Elemento riscaldante
Termometro a resistenza (RTD)

Descrizione Invia il MV alla PWM (On/Off). Relè a stato solido che controlla l'elemento riscaldante.
Aumenta la temperatura nella zona di controllo. Misura la temperatura nella zona di controllo e invia il PV (segnale RTD) all'ingresso del controllore.

Ingresso controllore Programma PLC

Riceve il PV (segnale RTD).
Converte il PV (segnale RTD) alla stessa unità del SP (gradi Celsius), determina la differenza tra il PV e il SP e regola il MV in base ai valori definiti nei parametri P, I e D.

582

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)
Esempio: diagramma a blocchi funzionali per il controllo della temperatura
Questo diagramma a blocchi funzionali illustra i blocchi funzione predefiniti e definiti dall'utente e utilizzati nell'applicazione per il controllo della temperatura in una zona di controllo.

Vedere anche
Esempio: come creare un programma IPIDController per controllare il livello di erogazione dell'acqua a pagina 583
Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565

Esempio: come creare un programma IPIDController per controllare il livello di erogazione dell'acqua

Nell'esempio di programma di controllo per il livello di erogazione dell'acqua, viene mantenuta una quantità d'acqua sufficiente in un serbatoio di erogazione dell'acqua dotato di deflusso. Una valvola solenoide controlla l'acqua in ingresso riempiendo il serbatoio con una portata preimpostata; anche l'acqua che defluisce è controllata in base a una portata preimpostata.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

583

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
Informazioni dell'esempio di programma
Il programma per il livello di erogazione dell'acqua include le seguenti informazioni.
· La sequenza degli eventi che si verificano nel processo di controllo
· Modalità di utilizzo nel programma di controllo del setpoint e dei valori manipolati e di processo
· Un diagramma a blocchi funzionali di esempio che illustra l'IPIDController e altri blocchi di istruzioni

Elemento Setpoint (SP) Valore di processo (PV) Valore manipolato (MV)

Setpoint, processo e valori manipolati
Nella tabella seguente è definita la modalità di utilizzo dei valori SP, PV e MV nel programma di controllo del livello di erogazione dell'acqua.
Descrizione Misurazione dell'altezza che definisce il livello di erogazione dell'acqua. Il valore 4 - 20 mA deve essere convertito nella stessa unità di SP, una misura di altezza. È necessario convertirlo in un valore analogico, in modo da poter essere inviato all'unità per il controllo della pompa.

Sistema per il livello di erogazione dell'acqua
Nel seguente diagramma sono illustrati i componenti del sistema di controllo del livello di erogazione dell'acqua che sono comandati dal programma di tale sistema. Nella tabella riportata di seguito al diagramma sono descritti gli eventi che si verificano durante l'esecuzione del programma di controllo.

Sequenza degli eventi nel sistema per il livello di erogazione
dell'acqua
Nella seguente tabella sono identificati i componenti del sistema di controllo del livello di erogazione dell'acqua e sono descritti, in sequenza, gli eventi che si verificano durante l'esecuzione del programma di tale sistema.

584

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

No Elemento Uscita controllore
Unità PowerFlex
Pompa dell'acqua
Dispositivo di trasferimento delle uscite Ingresso controllore
Programma PLC

Capitolo 21 Istruzione proporzionale integrale derivativa (PID) Descrizione Invia il MV all'unità PowerFlex (0 - 10 V). Controlla la pompa dell'acqua (0 - 50 Hz). Controlla il livello dell'acqua nel serbatoio di erogazione. Misura l'altezza del livello dell'erogazione dell'acqua (4 - 20 mA) e invia il PV al controllore.
Riceve il PV (livello di erogazione dell'acqua 4 - 20 mA). Converte il PV alla stessa unità del SP (misura dell'altezza), determina la differenza tra il PV e il SP e regola il MV in base ai valori definiti nei parametri P, I e D.

Esempio: diagramma a blocchi funzionali per il controllo del livello di erogazione dell'acqua
Nel seguente diagramma a blocchi funzionali sono illustrati i blocchi funzione del programma predefiniti e definiti dall'utente per il controllo del livello di erogazione dell'acqua.

Blocchi funzione e UDFB usati nell'FBD del livello dell'acqua
Questa applicazione, sviluppata in linguaggio Diagramma a blocchi funzionali, utilizza i blocchi istruzione descritti nella seguente tabella.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

585

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

Function block Blocco funzione IPIDController UDFB PID_OutputRegulator
UDFB PID_Feedback
UDFB PID_PWM UDFB SIM_WATERLVL

Descrizione Fornisce il controllo del processo PID. Regola l'uscita di IPIDCONTROLLER in un intervallo sicuro per garantire che l'hardware impiegato nel processo non sia danneggiato. Codice campione: IF RMIN  RIN  RMAX, then ROUT = RIN, IF RIN < RMIN, then ROUT = RMIN, IF RIN > RMAX, then ROUT = RMAX Agisce come un multiplexer. Codice campione: IF "FB_RST" is false, FB_OUT=FB_IN; If "FB_RST" is true, then FB_OUT=FB_PREVAL. Fornisce una funzione PWM convertendo un valore reale in un'uscita ON/OFF dipendente dal tempo. Simula il processo nell'esempio dell'applicazione.

Vedere anche
Esempio: come creare un programma IPIDController per controllare la temperatura a pagina 581
Utilizzo dell'istruzione proporzionale integrale derivativa a pagina 565

PID (proporzionale integrale

Un'istruzione di uscita che controlla le proprietà fisiche come la temperatura, la pressione, il livello dei liquidi o la portata tramite cicli di

derivativa)

processo.

Dettagli operazione:

· Quando abilitato, PID controlla il processo utilizzando i parametri di ingresso inclusi SP e guadagni del controllore PID.
· Esegue la transizione dalla modalità Run alla modalità Programmazione, l'istruzione PID è disabilitato, i valori dei parametri vengono memorizzati.
· Esegue la transizione dalla modalità Programmazione alla modalità Run, istruzione PID resta disabilitata fino a quando un utente ripristina da Abilita a True.

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

586

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)
Questa istruzione vale per i controllori Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro Enable PV SP AutoManual CVManual CVMin CVMax Gains Controllo Attivo CV

Tipo di parametro Ingresso
Ingresso Ingresso Ingresso
Ingresso
Ingresso
Ingresso
Ingresso Ingresso
Uscita
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL REAL REAL BOOL REAL REAL REAL PID_GAINS BOOL BOOL REAL

Istruzione Abilita. TRUE: avvia l'esecuzione con i parametri di ingresso correnti. FALSE: PID non viene eseguito. Impostare CV su 0 e calcolare AbsoluteError. Valore processo. Questo valore è in genere letto da un modulo di ingresso analogico. L'unità SI deve essere la stessa di Setpoint.
Il valore del punto preimpostato per il processo.
Selezione della modalità automatica o manuale. TRUE: CV è controllato da PID. FALSE: esegue PID e CV è controllato dall'ingresso CVManual. Ingresso del valore di controllo definito per l'operazione modalità manuale. L'intervallo valido per CVManual è: CVMin < CVManual < CVMax Limite minimo del valore di controllo. Se CV < CVMin, quindi CV = CVMin. Se CVMin > CVMax, si verifica un errore. Limite massimo del valore di controllo. Se CV > CVMax, quindi CV = CVMax. Se CVMax < CVMin, si verifica un errore. Guadagni PID per il controllore. Per configurare il parametro Guadagni, utilizzare il tipo di dati PID_GAINS. Direzione di controllo del processo: TRUE: azionamento diretto, ad esempio raffreddamento. FALSE: azionamento inverso, ad esempio riscaldamento. Stato del controllore PID. TRUE: PID è attivo. FALSE: PID viene interrotto. Uscita del valore di controllo. Se si è verificato un errore, CV è 0.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

587

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

AbsoluteError

Uscita

REAL

L'errore assoluto è la differenza tra il valore del processo (PV) e il valore del punto preimpostato (SP).

Errore ErrorID

Uscita

BOOL

Uscita

USINT

Indica la presenza di una condizione di errore. TRUE: l'operazione ha riscontrato un errore. FALSE: l'operazione è stata completata o l'istruzione FFU non è in esecuzione. Numero univoco che identifica l'errore. Gli errori sono definiti nei codici di errore PID.

Parametri Kc
Ti Td
FC

Tipo di parametro Ingresso
Ingresso Ingresso
Ingresso

Tipo di dati PID_GAINS
Nella tabella seguente è descritto il tipo di dati PID_GAINS per l'istruzione PID.
Tipo di dati Descrizione

REAL

Guadagno controllore per PID.

Proporzionale e integrale dipendono da questo guadagno. (>= 0,0001).

L'aumento di Kc migliora il tempo di risposta ma aumenta anche il superamento e oscillazione del PID.

Se Kc non è valido, si verifica un errore.

REAL

Costante integrale di tempo in secondi (> = 0,0001).

L'aumento di Ti diminuisce il superamento e oscillazione del PID.

Se Ti non è valido, si verifica un errore.

REAL

Costante derivativa di tempo in secondi (> = 0,0).

Quando Td è uguale 0, non c'è nessuna azione derivata e PID diventa un controllore PI.

L'aumento di Td riduce il superamento e rimuove l'oscillazione del controllore PID.

Se Td non è valido, si verifica un errore.

REAL

Costante del filtro (> = 0,0). L'intervallo consigliato per FC è da 0 a 20.

L'aumento di FC uniforma la risposta del controllore PID.

Se FC non è valido, si verifica un errore.

Codici di errore PID

Utilizzare questa tabella per determinare i codici di errore PID e le descrizioni.

Codice errore Descrizione errore

0

PID funziona normalmente.

1

Kc non è valido.

2

Ti non è valido.

3

Td non è valido.

4

FC non è valido.

5

CVMin > CVMax o CVMax < CVMin

6

CVManual < CVMin

CVManual non è valido.

7

CVManual > CVMax

CVManual non è valido.

588

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)
Esempio di Programmazione a blocchi funzionali PID

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

589

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
Esempio di Diagramma ladder PID

Esempio di Testo strutturato PID

590

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati PID

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

Vedere anche
Diagrammi di temporizzazione dell'istruzione PID a pagina 592 Stato della macchina di istruzione PID a pagina 591 Istruzioni proporzionali integrali derivative (PID) a pagina 557

Stato della macchina di istruzione PID

Nel diagramma dello stato della macchina PID sono descritti gli stati di elaborazione per l'istruzione PID.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

591

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
Vedere anche
Istruzione PID a pagina 586 Diagrammi di temporizzazione dell'istruzione PID a pagina 592

Diagrammi di temporizzazione dell'istruzione PID

Gli esempi di diagramma di temporizzazione seguenti descrivono scenari di esecuzione per l'istruzione PID (proporzionale-integralederivativa).
Completamento dell'esecuzione PID.

Utilizzare questa tabella per determinare i valori del parametro per ogni ciclo di scansione.
Ciclo di scansione Descrizione

1, 8

La condizione ramo diventa TRUE quando:

· Il bit di ingresso Abilita è TRUE.

· I parametri di ingresso sono validi.

· Il bit Attivo è TRUE.

· Il bit Errore è FALSE.

2, 3, 4

Nessuna modifica nella condizione ramo.

· Il bit di ingresso Abilita è TRUE.

· I parametri di ingresso sono validi.

· Aggiorna i parametri di uscita del PID.

5, 9

La condizione ramo diventa FALSE quando:

· Il bit Abilita è FALSE.

· Cancella i parametri di uscita del PID tranne AbsoluteError.

· AbsoluteError calcola in base ai valori di ingresso PV e SP.

592

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Ciclo di scansione Descrizione

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)

6, 7, 10, 11

Nessuna modifica nella condizione ramo. · Il bit Abilita è FALSE. · Cancella i parametri di uscita del PID tranne AbsoluteError. · AbsoluteError calcola in base ai valori di ingresso PV e SP.

Esecuzione di PID con errore

Utilizzare questa tabella per determinare i valori del parametro per ogni ciclo di scansione.
Ciclo di scansione Descrizione

1, 8
2, 3, 4 5, 9 6, 7, 10, 11

La condizione ramo diventa TRUE quando: · Il bit di ingresso Abilita è TRUE. · I parametri di ingresso non sono validi. · Il bit Attivo è FALSE. · Il bit Errore è TRUE. L'uscita ErrorID è impostata. · L'uscita CV uscita è impostata su 0. · AbsoluteError calcola in base ai valori di ingresso PV e SP. Nessuna modifica nella condizione ramo. · Il bit di ingresso Abilita è TRUE. · I parametri di ingresso non sono validi. · Aggiorna i parametri di uscita del PID.
La condizione ramo diventa FALSE quando: · Il bit Abilita è FALSE. · Cancella i parametri di uscita del PID tranne AbsoluteError. · AbsoluteError calcola in base ai valori di ingresso PV e SP. Nessuna modifica nella condizione ramo. · Il bit Abilita è FALSE. · Cancella i parametri di uscita del PID tranne AbsoluteError. · AbsoluteError calcola in base ai valori di ingresso PV e SP.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

593

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
Esecuzione del PID con errore e completamento dell'esecuzione

Utilizzare questa tabella per determinare i valori del parametro per ogni ciclo di scansione.
Ciclo di scansione Descrizione

1, 8
2 3, 4 5, 9 6, 7, 10, 11

La condizione ramo diventa TRUE quando: · Il bit di ingresso Abilita è TRUE. · I parametri di ingresso non sono validi. · Il bit Attivo è FALSE. · Il bit Errore è TRUE. L'uscita ErrorID è impostata. · L'uscita CV uscita è impostata su 0. · AbsoluteError calcola in base ai valori di ingresso PV e SP. Nessuna modifica nella condizione ramo. · Il bit di ingresso Abilita è TRUE. · I parametri di ingresso non sono validi. · Aggiorna i parametri di uscita del PID.
Nessuna modifica nella condizione ramo. · Il bit di ingresso Abilita è TRUE. · I parametri di ingresso sono validi. · Il bit Attivo è TRUE. · Il bit Errore è FALSE. · Aggiorna i parametri di uscita del PID. La condizione ramo diventa FALSE quando: · Il bit Abilita è FALSE. · Cancella i parametri di uscita del PID tranne AbsoluteError. · AbsoluteError calcola in base ai valori di ingresso PV e SP. Nessuna modifica nella condizione ramo. · Il bit Abilita è FALSE. · Cancella i parametri di uscita del PID tranne AbsoluteError. · AbsoluteError calcola in base ai valori di ingresso PV e SP.

594

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 21 Istruzione proporzionale integrale derivativa (PID)
Completamento dell'esecuzione PID ed Errore

Utilizzare questa tabella per determinare i valori del parametro per ogni ciclo di scansione.
Ciclo di scansione Descrizione

1, 8 2 3, 4 5, 9 6, 7, 10, 11

La condizione ramo diventa TRUE quando: · Il bit di ingresso Abilita è TRUE. · I parametri di ingresso sono validi. · Il bit Attivo è TRUE. · Il bit Errore è FALSE. · Aggiornare i parametri di uscita del PID. Nessuna modifica nella condizione ramo. · Il bit di ingresso Abilita è TRUE. · I parametri di ingresso sono validi. · Aggiornare i parametri di uscita del PID.
Nessuna modifica nella condizione ramo. · Il bit di ingresso Abilita è TRUE. · I parametri di ingresso non sono validi. · Il bit Errore è TRUE. L'uscita ErrorID è impostata. · L'uscita CV uscita è impostata su 0. · AbsoluteError calcola in base ai valori di ingresso PV e SP. La condizione ramo diventa FALSE quando: · Il bit Abilita è FALSE. · Cancella i parametri di uscita del PID tranne AbsoluteError. · AbsoluteError calcola in base ai valori di ingresso PV e SP. Nessuna modifica nella condizione ramo. · Il bit Abilita è FALSE. · Cancella i parametri di uscita del PID tranne AbsoluteError. · AbsoluteError calcola in base ai valori di ingresso PV e SP.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

595

Capitolo 21

Istruzione proporzionale integrale derivativa (PID)
Vedere anche
PID a pagina 586 Stato della macchina di istruzione PID a pagina 591

596

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzioni Real Time Clock (RTC)

Capitolo 22

Utilizzare le istruzioni Real Time Clock per configurare il calendario e l'orologio.

Istruzione

Descrizione

RTC_READ a pagina 403 RTC_SET a pagina 405

Legge le informazioni sul modulo real-time clock (RTC). Imposta i dati Real-Time Clock sulle informazioni del modulo RTC.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

RTC_READ (lettura RealTime Clock)

Legge le informazioni sul modulo real-time clock (RTC).
Dettagli operazione:
· Controllori Micro810 o Micro820 con RTC integrato: · RTCBatLow è sempre impostato su zero (0). · RTCEnabled è sempre impostato su (1).
· Quando l'RTC integrato perde la carica/memoria a causa di una interruzione dell'alimentazione: · RTCData è impostato su 2000/1/1/0/0/0. · RTCEnabled è impostato su (1).
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

597

Capitolo 22

Istruzioni Real Time Clock (RTC)
Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Parametro

Tipo di parametro Tipo di dati

Descrizione

Enable

Ingresso

BOOL

RTCData

Uscita

RTC

RTCPresent

Uscita

BOOL

RTCEnabled

Uscita

BOOL

RTCBatLow

Uscita

BOOL

ENO

Uscita

BOOL

Abilitazione del blocco istruzione. TRUE: esegue la lettura delle informazioni RTC. FALSE: non c'è nessuna operazione di lettura e i dati in uscita RTC non sono validi. Informazioni sui dati RTC: aa/mm/gg, hh/mm/ss, settimana. L'uscita RTCData è definita con il tipo di dati RTC. TRUE: Free Running clock in uso oppure hardware RTC collegato. FALSE: Free Running clock non in uso oppure hardware RTC non collegato. TRUE: Free Running clock in uso oppure hardware RTC abilitato (temporizzazione). FALSE: Free Running clock non in uso, hardware RTC disabilitato (nessuna temporizzazione). TRUE - livello batteria RTC basso. FALSE - livello batteria RTC non è basso. Abilita uscita. Applicabile solo alle programmazioni in Ladder Diagram.

Parametri
Year
Month Day Hour Minute Second DayOfWeek

Tipo di dati RTC

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati RTC.

Tipo di dati UINT
UINT UINT UINT UINT UINT UINT

Descrizione
L'impostazione anno per RTC. Valore a 16 bit, intervallo valido da 2000 (01 gen, 00:00:00) a 2098 (31 dic, 23:59:59)
L'impostazione mese per RTC.
L'impostazione giorno per RTC. L'impostazione ora per RTC. L'impostazione minuto per RTC. L'impostazione secondi per RTC. L'impostazione giorno della settimana per RTC. Questo parametro è ignorato per RTC_SET.

Esempio di Programmazione a blocchi funzionali RTC_READ

598

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 22
Esempio di Diagramma ladder RTC_READ

Istruzioni Real Time Clock (RTC)

Esempio di Testo strutturato RTC_READ

Vedere anche
Istruzioni ingresso/uscita a pagina 355

RTC_SET (impostare RealTime Clock)

Impostare i dati RTC (Real-Time Clock) sulle informazioni del modulo RTC.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

599

Capitolo 22

Istruzioni Real Time Clock (RTC)
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Parametro Enable
RTCEnable RTCData RTCPresent RTCEnabled
RTCBatLow Sts

Tipo di parametro Ingresso
Ingresso Ingresso Uscita Uscita
Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: esegue RTC_SET con le informazioni su RTC dall'ingresso. Eseguito in genere per

1 scansione del programma durante l'aggiornamento di RTC.

FALSE - non esegue RTC_SET. Impostare su FALSE per utilizzare RTC normalmente.

BOOL

TRUE - Per abilitare RTC i dati RTC specificati.

FALSE - Per disabilitare RTC.

RTC

Informazioni sui dati RTC: aa/mm/gg, hh/mm/ss, settimana definita nel tipo di dati RTC.

RTCData è ignorato quando RTCEnable = 0.

BOOL

TRUE: Free Running clock in uso oppure hardware RTC collegato.

FALSE: Free Running clock non in uso oppure hardware RTC non collegato.

BOOL

TRUE: Free Running clock in uso oppure hardware RTC abilitato (temporizzazione).

FALSE: Free Running clock non in uso oppure hardware RTC disabilitato (nessuna temporizzazione).

BOOL

TRUE - livello batteria RTC basso.

FALSE - livello batteria RTC non è basso.

USINT

Stato dell'operazione di lettura.

Valori di stato (Sts) RTC_Set:

· 0x00: blocco funzione non abilitato (nessuna operazione).

· 0x01: operazione di impostazione RTC riuscita.

· 0x02: operazione di impostazione RTC non riuscita.

Parametri
Year
Month Day Hour Minute Second DayOfWeek

Tipo di dati RTC

Utilizzare questa tabella per determinare i valori dei parametri del tipo di dati RTC.

Tipo di dati UINT
UINT UINT UINT UINT UINT UINT

Descrizione
L'impostazione anno per RTC. Valore a 16 bit, intervallo valido da 2000 (01 gen, 00:00:00) a 2098 (31 dic, 23:59:59)
L'impostazione mese per RTC.
L'impostazione giorno per RTC. L'impostazione ora per RTC. L'impostazione minuto per RTC. L'impostazione secondi per RTC. L'impostazione giorno della settimana per RTC. Questo parametro è ignorato per RTC_SET.

600

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 22 Istruzioni Real Time Clock (RTC)
Esempio di Programmazione a blocchi funzionali RTC_SET
Esempio di Diagramma ladder RTC_SET

Esempio di Testo strutturato RTC_SET

Vedere anche
Istruzioni ingresso/uscita a pagina 355

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

601

Istruzioni socket

Capitolo 23

Utilizzare il protocollo del socket per le comunicazioni Ethernet verso i dispositivi che non supportano TCP Modbus ed Ethernet/IP. I socket supportano client, server, protocollo TCP (Transmission Control) e protocollo UDP (User Datagram). Le applicazioni tipiche comprendono le comunicazioni con stampanti, lettori di codici a barre e PC.
Comportamento delle istruzioni del socket in modalità Modifica in modalità Run:
· Se un'operazione di eliminazione viene eseguita su un'istruzione SOCKET_OPEN, SOCKET_ACCEPT, SOCKET_READ o SOCKET_WRITE durante la modalità Modifica in modalità Run, il Socket istanza viene eliminato.
· Nella modalità Modifica in modalità Run, qualsiasi modifica a un ingresso SOCKET_READ durante il funzionamento nello stato OCCUPATO genera un errore e il pacchetto ricevuto viene ignorato. I parametri di ingresso SOCKET_READ sono: Length, Offset, Data Array Size, Data Array Variable.
· SOCKET_READ è l'unica istruzione SOCKET che supporta operazioni di aggiunta o modifica durante la modalità Modifica in modalità Run.
· Se vengono modificate le impostazioni IP Ethernet utilizzando Modifica in modalità Run, tutte le istanze del socket create vengono eliminate, come per SOCKET_DELETEALL.
Elaborazione di istruzioni e aggiornamenti di uscite per le istruzioni del socket:
· Asincrono: Le istruzioni corrispondenti in cui tutte le uscite vengono aggiornate in modo asincrono con la scansione del programma utente, ad esempio una scansione ladder. L'uscita asincrona non può essere utilizzata per il rilevamento dell'attivazione sul fronte. I parametri dell'uscita asincrona non sono bloccati e possono essere aggiornati dopo il completamento delle rispettive istruzioni del socket.
· Sincrono: Le istruzioni corrispondenti in cui ogni uscita viene aggiornata in modo sincrono con le scansioni del programma utente. I parametri dell'uscita sincrona sono bloccati e non possono essere modificati dopo il completamento delle rispettive istruzioni del socket.
· Ibrido: Le istruzioni corrispondenti in cui alcune uscite vengono aggiornate in modo sincrono con la scansione del programma utente. Le uscite rimanenti vengono aggiornate in modo asincrono con la scansione del programma utente.
· Esecuzione immediata dell'istruzione: L'istruzione completa la funzione desiderata prima di passare all'istruzione successiva.
· Esecuzione non immediata dell'istruzione: L'istruzione richiede più scansioni del programma per completare la funzione

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

603

Capitolo 23 Istruzioni socket

desiderata. Le istruzioni catturano un'istantanea dei parametri di ingresso quando viene rilevata una transizione False > True.
Utilizzare questa tabella per determinare l'utilizzo di istruzioni del socket.

Istruzione

Descrizione

Client TCP

Server UDP con UDP senza Elaborazione

TCP

apertura apertura istruzioni

SOCKET_ACCEPT a pagina 604 Accetta una richiesta di connessione TCP da NO

SÌ

una destinazione remota e restituisce

un'istanza di socket utilizzata per inviare e

ricevere dati sulla connessione appena

creata.

NO

NO

SOCKET_CREATE a pagina 607 Crea un'istanza del Socket e restituisce un SÌ

SÌ

SÌ

SÌ

numero di istanza che utilizza le operazioni

socket successive.

SOCKET_DELETE a pagina 612 Elimina un'istanza di socket creata. Le

SÌ

SÌ

SÌ

SÌ

connessioni TCP vengono chiuse prima

dell'eliminazione.

SOCKET_DELETEALL a pagina Elimina tutte le istanze socket create.

SÌ

SÌ

SÌ

SÌ

615

SOCKET_INFO a pagina 618 Restituisce le informazioni per il socket SÌ

SÌ

SÌ

SÌ

come codici di errore e lo stato di

esecuzione.

SOCKET_OPEN a pagina 623 Le connessioni TCP vengono aperte con SÌ

NO

SÌ

NO

l'indirizzo di destinazione specificato.

Le connessioni UDP associano un numero di porta e un indirizzo IP di destinazione al socket specificato.

SOCKET_READ a pagina 628 Legge i dati su un socket. Tenta di ricevere SÌ

SÌ

SÌ

SÌ

il numero di byte specificato e restituisce il

numero dei byte ricevuti.

SOCKET_WRITE a pagina 632 Invia dati su un socket. Tenta di inviare il SÌ

SÌ

SÌ

SÌ

numero di byte richiesto e restituisce il

numero di byte inviati.

Non immediato
Immediato Non immediato Non immediato Immediato Non immediato
Non immediato Non immediato

Aggiornamento uscita dell'istruzione Ibrido
Sincrono Sincrono Sincrono Sincrono Sincrono
Ibrido Ibrido

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18 Diagrammi di temporizzazione dell'istruzione Socket a pagina 641 Diagrammi di transazione dell'istruzione Socket a pagina 649 Diagrammi di stato della macchina per TCP a pagina 651 Diagrammi dello stato della macchina per UDP a pagina 654

SOCKET_ACCEPT
604

Solo per connessioni Transmission Control Protocol (TCP). Accetta una richiesta di connessione TCP da una destinazione remota e restituisce un'istanza di socket utilizzata per inviare e ricevere dati sulla connessione appena creata. Dettagli operazione:
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket
· Prima di eseguire Socket_Accept, eseguire SOCKET_CREATE e specificare il numero di porta locale per accettare la connessione.
· L'uscita viene aggiornata in modo sincrono dalla scansione del programma.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro820, Micro850 e Micro870. Per Micro800 Simulator, questa istruzione può essere aggiunta a un programma ma si tratta solo di un segnaposto per impedire che l'istruzione venga eliminata durante la modifica del controllore.
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Parametro Execute
Istanza Timeout
Done
Busy Errore

Tipo di parametro Ingresso
Ingresso Ingresso
Uscita
Uscita Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata.

FALSE: nessun fronte di salita rilevato, blocco istruzione non avviato.

UDINT

Identifica l'istanza del socket. Copia il Socket Handler restituito da un'istruzione SOCKET_CREATE

.

UDINT

Timeout per le istanze del blocco istruzione SOCKET_ACCEPT. Il blocco funzione restituisce un

errore se il valore di timeout è inferiore al valore minimo.

Intervallo timeout: 1000-86400000 millisecondi Impostare il timeout su 0 per usare il valore predefinito 10.000 (10 secondi).

BOOL

Indica se l'operazione è stata completata.

TRUE: l'operazione è stata completata correttamente. FALSE: l'operazione è in corso oppure è stato generato un errore.

L'output viene aggiornato in modo sincrono alla scansione del programma.

BOOL

TRUE: l'operazione non viene terminata.

FALSE: l'operazione è completata.

L'output viene aggiornato in modo sincrono alla scansione del programma.

BOOL

Indica che si è verificato un errore.

TRUE - È stato rilevato un errore.

FALSE - Nessun errore.

L'output viene aggiornato in modo sincrono alla scansione del programma.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

605

Capitolo 23 Istruzioni socket

Parametro Stato

Tipo di parametro
Uscita

AcceptInst

Uscita

AcceptAddr

Uscita

Tipo di dati SOCK_STATUS UDINT SOCKADDR_CFG

Descrizione
Stato definito utilizzando il tipo di dati SOCK_STATUS che contiene informazioni su ErrorID, SubErrorID e StatusBits. L'output viene aggiornato in modo sincrono alla scansione del programma. Contiene l'istanza Accept per questa istanza Socket. Utilizzare il numero di istanza Accept univoco con i successivi SOCKET_READ e SOCKET_WRITE per la connessione. L'output viene aggiornato in modo sincrono alla scansione del programma. Una struttura dei dati che contiene l'indirizzo Accept per il socket. Per maggiori informazioni fare riferimento al Tipo di dati SOCKADDR_CFG. Per specificare l'indirizzo IP 192.168.2.100 e Porta = 12000: · AcceptAddr.IPAddress[0]=192 · AcceptAddr.IPAddress[1]=168 · AcceptAddr.IPAddress[2]=2 · AcceptAddr.IPAddress[3]=100 · AcceptAddr.Port = 12000 L'output viene aggiornato in modo sincrono alla scansione del programma.

Esempio di Programmazione a blocchi funzionali SOCKET_ACCEPT

Esempio di Diagramma ladder SOCKET_ACCEPT

606

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23
Esempio di Testo strutturato SOCKET_ACCEPT

Istruzioni socket

Risultati
Server TCP

SOCKET_CREATE

Vedere anche
Istruzioni socket a pagina 603 Tipo di dati SOCK_STATUS a pagina 637 Bit di stato per l'istruzione del socket a pagina 641 Codici di errore del socket a pagina 637 Tipo di dati SOCKADDR_CFG a pagina 636

Crea un'istanza del socket e restituisce un numero di istanza che viene usato come ingresso nelle operazioni socket successive.

Dettagli operazione:

· Le istruzioni Socket supportano la comunicazione Full Duplex con i dispositivi remoti.
· Le connessioni User Datagram Protocol (UDP) supportano un massimo di otto pacchetti di datagrammi UDP in coda. La coda contiene i pacchetti più recenti.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

607

Capitolo 23 Istruzioni socket

· I controllori Micro820 e Micro850 versione 9 o successiva supportano fino a otto istanze Socket. Le istanze Socket supportano i socket UDP e TCP:
· Usare tutte le otto istanze per la connessione del client Transmission Control Protocol (TCP).
· Usare tutte le otto istanze per ascoltare le connessioni TCP in entrata, quindi accettare le otto connessioni da altri dispositivi.
· Eseguire le operazioni client e server TCP. · Eseguire le operazioni TCP e UDP.
· Per accettare le connessioni TCP in entrata sulla stessa porta, creare una nuova istanza Socket.
· Connessione TCP persa:
· Il programma applicativo dell'utente deve rilevare la perdita di connessioni TCP e gestire l'evento. A seconda dell'applicazione utente, prendere in considerazione l'opzione di un guasto al controllore.
· Guasto al controllore. · Provare a ristabilire la connessione.
· Per ristabilire le comunicazioni con un altro dispositivo:
· Eliminare l'istanza Socket per la connessione persa. · Se la connessione è un client TCP, creare una nuova
istanza Socket usando SOCKET_CREATE ed eseguire SOCKET_OPEN sul dispositivo di destinazione. · Se la connessione è un server TCP, creare una nuova istanza Socket usando SOCKET_CREATE ed eseguire SOCKET_ACCEPT per attendere un'altra connessione dal dispositivo remoto.
· Messaggi applicativi per le connessioni TCP:
· Una connessione TCP è un flusso di byte tra due applicazioni. Il protocollo applicativo determina i formati del messaggio.
· I messaggi possono avere dimensioni fisse o variabili.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro820, Micro850 e Micro870. Per Micro800 Simulator, questa istruzione può essere aggiunta a un programma ma si tratta solo di un segnaposto per impedire che l'istruzione venga eliminata durante la modifica del controllore.

608

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Parametro Execute
Tipo SockAddr

Tipo di parametro Ingresso
Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL USINT SOCKADDR_CFG

Abilitazione del blocco istruzione. TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata. FALSE: nessun fronte di salita rilevato.
Specificare il tipo di Socket: · Transmission Control Protocol (TCP). · User Datagram Protocol (UDP). Specificare la configurazione dell'indirizzo del socket. Il modulo EtherNet/IP per selezionare il numero di porta locale, impostare SockAddr su 0. Specificare un numero di porta locale in cui un'applicazione è in ascolto e riceve i dati, oppure: · Gli elementi array devono essere tutti zero · Per le operazioni client TCP, specificare 0 a meno che non si desideri utilizzare un numero di
porta locale specifico. · Per la comunicazione del server TCP, specificare il numero di porta che dovrà accettare le
richieste di connessione in entrata. · Per UDP, specificare un numero di porta locale che dovrà ricevere i datagrammi. Intervallo porte locali: da 1 a 65535. Se il numero di porta locale specificato è già utilizzato dal controllore Micro820 o Micro850, viene generato un errore. Il controllore usa i seguenti numeri di porta: Porte TCP: · EtherNet/IP: 44818 · ModbusTCP: 502 · Server DHCP: 67 · Client DHCP: 68 Porte UDP: · EtherNet/IP: 2222 · Server DHCP: 67 · Client DHCP: 68 Vedere Tipo di dati SOCKADDR_CFG.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

609

Capitolo 23 Istruzioni socket

Parametro

Tipo di parametro

Timeout

Ingresso

Tipo di dati UDINT

Done Busy Errore Stato Istanza

Uscita Uscita Uscita Uscita Uscita

BOOL BOOL BOOL SOCK_STATUS UDINT

Descrizione
Specificare il Timeout per inattività Socket. Se un'istanza Socket non riceve alcuna richiesta entro il timeout di inattività specificato, l'istanza Socket verrà eliminata. Se viene inviata una richiesta dopo l'eliminazione dell'istanza socket, viene restituito l'errore "istanza Socket non supportata". Il blocco istruzione restituisce un errore quando il valore di timeout è inferiore al valore minimo. Impostare il timeout in modo che sia maggiore dell'intervallo più lungo tra le operazioni del socket. Se il timeout di inattività è troppo breve, le istanze Socket potrebbero scadere. Intervallo timeout: 1000 - 86400000 millisecondi Impostare Timeout su 0 per usare il valore predefinito 300000 (5 minuti). Indica se l'operazione è stata completata. TRUE: l'operazione è stata completata correttamente. FALSE: l'operazione è in corso oppure è stato generato un errore. TRUE: l'operazione non è completata. FALSE: l'operazione è completata. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. Stato definito utilizzando il tipo di dati SOCK_STATUS che contiene informazioni su ErrorID, SubErrorID e StatusBits. Vedere tipo di dati SOCK_STATUS, bit di stato istruzione Socket e codici di errore Socket. Contiene Socket Handler. Usare il parametro Instance per le istruzioni Socket successive.

Esempio di Programmazione a blocchi funzionali SOCKET_CREATE

610

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23
Esempio di Diagramma ladder SOCKET_CREATE

Istruzioni socket

Esempio di Testo strutturato SOCKET_CREATE
Risultati Esempio di client TCP

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

611

Capitolo 23 Istruzioni socket

Esempio di server TCP

Esempio di UDP

SOCKET_DELETE
612

Vedere anche
Codici di errore del socket a pagina 637 Istruzioni socket a pagina 603 Tipo di dati SOCK_STATUS a pagina 637 Bit di stato per l'istruzione del socket a pagina 641 Tipo di dati SOCKADDR_CFG a pagina 636
Elimina un'istanza di socket creata. Per le connessioni Transmission Control Protocol (TCP), SOCKET_DELETE chiude anche (chiusura
Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket
passiva) la connessione prima di eliminare l'istanza. L'uscita viene aggiornata in modo sincrono dalla scansione del programma.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro820, Micro850 e Micro870. Per Micro800 Simulator, questa istruzione può essere aggiunta a un programma ma si tratta solo di un segnaposto per impedire che l'istruzione venga eliminata durante la modifica del controllore.
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Parametro Execute Istanza
Done Busy Errore Stato

Tipo di parametro Ingresso
Ingresso
Uscita
Uscita Uscita
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.
Tipo di dati Descrizione

BOOL UDINT
BOOL BOOL BOOL SOCK_STATUS

Abilitazione del blocco istruzione. TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata. FALSE: nessun fronte di salita rilevato.
Copia il Socket Handler restituito da un'istruzione SOCKET_CREATE o SOCKET_ACCEPT per eliminare il rispettivo socket. · Per i tipi di socket client TCP e UDP, copiare il Socket Handler restituito da un'istruzione
SOCKET_CREATE. · Per il tipo di socket server TCP, copiare il Socket Handler restituito da un'istruzione
SOCKET_ACCEPT. Indica se l'operazione è stata completata. TRUE: l'operazione è stata completata correttamente. FALSE: l'operazione è in corso oppure è stato generato un errore. L'output viene aggiornato in modo sincrono alla scansione del programma. TRUE: l'operazione non viene terminata. FALSE: l'operazione è completata. L'output viene aggiornato in modo sincrono alla scansione del programma.
Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. L'output viene aggiornato in modo sincrono alla scansione del programma. Stato definito utilizzando il tipo di dati SOCK_STATUS che contiene informazioni su ErrorID, SubErrorID e StatusBits. L'output viene aggiornato in modo sincrono alla scansione del programma.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

613

Capitolo 23 Istruzioni socket

Esempio di Programmazione a blocchi funzionali SOCKET_DELETE

Esempio di Diagramma ladder SOCKET_DELETE

Esempio di Testo strutturato SOCKET_DELETE

614

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 23 Istruzioni socket

SOCKET_DELETEALL

Vedere anche
Istruzioni socket a pagina 603 Bit di stato per l'istruzione del socket a pagina 641 Tipo di dati SOCK_STATUS a pagina 637 Codici di errore del socket a pagina 637
Elimina tutte le istanze socket create. Dettagli operazione:
· Se il cavo Ethernet viene disconnesso dal controllore o l'indirizzo IP del controllore viene modificato, è possibile eseguire SOCKET_DELETEALL per eliminare tutte le istanze del socket precedentemente create.
· L'uscita viene aggiornata in modo sincrono dalla scansione del programma.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione si applica ai controllori Micro820, Micro850 e Micro870. Per Micro800 Simulator, questa istruzione può essere aggiunta a un programma ma si tratta solo di un segnaposto per impedire che l'istruzione venga eliminata durante la modifica del controllore.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

615

Capitolo 23 Istruzioni socket

Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Parametro Execute Done Busy Errore Stato

Tipo di parametro Ingresso
Uscita
Uscita Uscita
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL BOOL BOOL BOOL SOCK_STATUS

Abilitazione del blocco istruzione. TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata. FALSE: nessun fronte di salita rilevato. Indica se l'operazione è stata completata. TRUE: l'operazione è stata completata correttamente. FALSE: l'operazione è in corso oppure è stato generato un errore. L'output viene aggiornato in modo sincrono alla scansione del programma.
TRUE: l'operazione non viene terminata. FALSE: l'operazione è completata. L'output viene aggiornato in modo sincrono alla scansione del programma.
Questo campo è impostato su TRUE quando viene rilevata una condizione di errore durante l'esecuzione del blocco funzione. Per maggiori informazioni fare riferimento ai codici di errore del Socket. L'output viene aggiornato in modo sincrono alla scansione del programma.
Stato definito utilizzando il tipo di dati SOCK_STATUS che contiene informazioni su ErrorID, SubErrorID e StatusBits. L'output viene aggiornato in modo sincrono alla scansione del programma.

Esempio di Programmazione a blocchi funzionali SOCKET_DELETEALL

616

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket
Esempio di Diagramma ladder SOCKET_DELETEALL

Esempio di Testo strutturato SOCKET_DELETEALL Risultati

Vedere anche
Istruzioni socket a pagina 603 Tipo di dati SOCK_STATUS a pagina 637 Bit di stato per l'istruzione del socket a pagina 641 Codici di errore del socket a pagina 637

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

617

Capitolo 23 Istruzioni socket
SOCKET_INFO

Restituisce informazioni per un'istanza socket come codici di errore e stato di esecuzione. Le uscite vengono aggiornate in modo asincrono dalla scansione del programma.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro820, Micro850 e Micro870. Per Micro800 Simulator, questa istruzione può essere aggiunta a un programma ma si tratta solo di un segnaposto per impedire che l'istruzione venga eliminata durante la modifica del controllore.
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Parametro Execute
Istanza

Tipo di parametro Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata.

FALSE: nessun fronte di salita rilevato.

UDINT

Copia il Socket Handler restituito da un'istruzione SOCKET_CREATE o SOCKET_ACCEPT per

eliminare il rispettivo socket.

· Per i tipi di socket client TCP e UDP, copiare il Socket Handler restituito da un'istruzione SOCKET_CREATE.

· Per il tipo di socket server TCP, copiare il Socket Handler restituito da un'istruzione SOCKET_ACCEPT.

Se Instance è 0, restituisce un riepilogo di tutte le istanze Socket.

618

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro ClrDiagCnt

Tipo di parametro
Ingresso

Tipo di dati BOOL

Done

Uscita

BOOL

Busy Errore

Uscita

BOOL

Uscita

BOOL

Stato

Uscita

SocketType

Uscita

SOCK_STATUS USINT

StreamType Uscita

USINT

TxQueCnt

Uscita

USINT

RxQueCnt

Uscita

USINT

SocketState

Uscita

USINT

LocalAddr

Uscita

RemoteAddr Uscita

SOCKETADDR_CFG SOCKETADDR_CFG

Descrizione

Capitolo 23 Istruzioni socket

TRUE: cancella le informazioni sul contatore di diagnostica Transmission Control Protocol (TCP) o User Datagram Protocol (UDP). FALSE: nessuna cancellazione delle informazioni del contatore TCP o UDP. Come TCP e UDP, l'indice del vettore OtherInfo da 1 a 6. Se l'Istanza è 0, cancellare l'indice del vettore OtherInfo da 7 a 14. Indica se l'operazione è stata completata. TRUE: l'operazione è stata completata correttamente. FALSE: l'operazione è in corso oppure è stato generato un errore. L'output viene aggiornato in modo sincrono alla scansione del programma. TRUE: l'operazione non viene terminata. FALSE: l'operazione è completata. L'output viene aggiornato in modo sincrono alla scansione del programma. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. L'output viene aggiornato in modo sincrono alla scansione del programma. Stato definito utilizzando il tipo di dati SOCK_STATUS che contiene informazioni su ErrorID, SubErrorID e StatusBits. L'output viene aggiornato in modo sincrono alla scansione del programma.
Tipo di istanza Socket: · 0 - Non utilizzato · 1 - TCP · 2 - UDP Se l'Istanza Socket_Info è 0, SocketType viene visualizzato come 0. Tipo di Socket Stream: · 0 - Nessuno · 1 - Server TCP · 2 - Client TCP Se l'Istanza Socket_Info è 0, StreamType viene visualizzato come 0. Numero di messaggi Tx attualmente in coda. Se l'Istanza Socket_Info è 0, TxQueCnt viene visualizzato come 0. Numero di messaggi Rx attualmente in coda. Se l'Istanza Socket_Info è 0, RxQueCnt viene visualizzato come 0. Informazioni sullo stato dell'istruzione Socket. Per maggiori informazioni fare riferimento a Stato macchina Socket. Se l'Istanza Socket_Info è 0, SocketState viene visualizzato come 0.
Indirizzo locale per il socket. Per maggiori informazioni fare riferimento al Tipo di dati SOCKADDR_CFG. Se l'Istanza Socket_Info è 0, LocalAddr viene visualizzato come 0. Indirizzo remoto per il socket. Per maggiori informazioni fare riferimento al Tipo di dati SOCKADDR_CFG. RemoteAddr viene visualizzato come 0 nei casi seguenti: · L'istanza Socket_Info è 0 · Connessioni User Datagram Protocol (UDP) senza SOCKET_OPEN · UDP con SOCKET_OPEN e RxFilter disattivato.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

619

Capitolo 23 Istruzioni socket

Parametro OtherInfo

Tipo di parametro

Tipo di dati UDINT[1..15]

Descrizione
L'Istanza socket è configurata come TCP, la descrizione dell'indice del vettore è: · 1 - Pacchetto inviato: Numero totale di pacchetti TCP inviati su un Socket. · 2 - Byte inviati: Numero totale di byte TCP inviati su un Socket. · 3 - Pacchetto ricevuto: Numero totale di pacchetti TCP ricevuti per un Socket. · 4 - Byte ricevuti: Numero totale di byte TCP ricevuti su un Socket. · 5 - Pacchetti ritrasmessi: Numero totale di ritrasmissioni del pacchetto TCP. · 6 - Errori Checksum: Numero totale di pacchetti TCP con errori Checksum su un Socket. · 7 - Stato TCP: Stato corrente di un Socket. · (Da 8 a 11): OtherInfo non è supportato per TCP, viene visualizzato come 0. · 12 ,13,14,15 - Visualizzato come 0.
Istanza Socket configurata come UDP, la descrizione dell'indice Array è: · 1 - Pacchetto inviato: Numero totale di pacchetti UDP inviati su un Socket. · 2 - Byte inviati: Numero totale di byte UDP inviati su un Socket. · 3 - Pacchetto ricevuto: Numero totale di pacchetti UDP ricevuti su un Socket. · 4 - Byte ricevuti: Numero totale di byte UDP ricevuti su un Socket. · 5 - Pacchetti scartati: Numero totale di pacchetti UDP ricevuti e scartati per un Socket
perché è stato superato il limite di dimensione massima della coda pari a 8. · 6 - Errori Checksum: Numero totale di pacchetti UDP con errori checksum su Socket. · Da 7 a 15 - Visualizzato come 0. Istanza Socket configurata come 0, la descrizione dell'indice Array è: · 1 - Numero istanze Socket disponibili. Numero massimo di socket supportati. · 2 - Numero istanze Socket usate. Numero di socket creati correttamente. · 3 - Numero di istanze Socket create come TCP. · 4 - Numero di istanze Socket create come client TCP. · 5 - Numero di istanze Socket create come server TCP. · 6 - Numero di istanze Socket create come UDP. · 7 - Numero di SOCKET_READ completate correttamente quando l'istanza Socket è
configurata come TCP. · 8 - numero di SOCKET_WRITE completate correttamente quando l'istanza Socket è
configurata come TCP. · 9 - numero di SOCKET_READ non riuscite quando l'istanza Socket è configurata come TCP. · 10 - numero di SOCKET_WRITE non riuscite quando l'istanza Socket è configurata come
TCP. · 11 - numero di SOCKET_READ completate correttamente quando l'istanza Socket è
configurata come UDP. · 12 - numero di SOCKET_WRITE completate correttamente quando l'istanza Socket è
configurata come UDP. · 13 - numero di SOCKET_READ non riuscite quando l'istanza Socket è configurata come
UDP. · 14 - Numero di SOCKET_WRITE non riuscite quando l'istanza Socket è configurata come
UDP. · 15 - Visualizzato come 0.

620

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket
Esempio di Programmazione a blocchi funzionali SOCKET_INFO

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

621

Capitolo 23 Istruzioni socket

Esempio di Diagramma ladder SOCKET_INFO

622

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di Testo strutturato SOCKET_INFO

Capitolo 23

Istruzioni socket

Risultati

SOCKET_OPEN

Vedere anche
Istruzioni socket a pagina 603 Bit di stato per l'istruzione del socket a pagina 641 Codici di errore del socket a pagina 637 Tipo di dati SOCKADDR_CFG a pagina 636 Tipo di dati SOCK_STATUS a pagina 637

Apre la connessione per l'indirizzo di destinazione specificato per le connessioni Transmission Control Protocol (TCP). Per le connessioni User Datagram Protocol (UDP), associa un indirizzo IP di destinazione e il numero di porta al socket specificato.
Dettagli operazioni:

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

623

Capitolo 23 Istruzioni socket

· Per le connessioni User Datagram Protocol (UDP) che usano SOCKET_OPEN, l'indirizzo IP e il numero di porta non sono obbligatori ogni volta che i dati vengono inviati.
· Per le connessioni UDP che non usano SOCKET_OPEN, è necessario specificare l'indirizzo di destinazione ogni volta che SOCKET_WRITE viene usato per inviare i dati.
· Se si utilizza SOCKET_READ, oltre a ricevere i dati, viene restituito l'indirizzo del mittente. L'indirizzo dei mittenti può essere usato per inviare una risposta usando SOCKET_WRITE.
· Potrebbe essere restituita un'operazione SOCKET_OPEN prima del timeout senza creare una connessione Transmission Control Protocol (TCP). Se si verifica questa condizione, significa che il dispositivo di destinazione è in esecuzione ma non è in ascolto delle connessioni sul numero di porta specificato, SOCKET_OPEN restituisce un errore prima del timeout.
· Le uscite vengono aggiornate in modo asincrono dalla scansione del programma.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro820, Micro850 e Micro870. Per Micro800 Simulator, questa istruzione può essere aggiunta a un programma ma si tratta solo di un segnaposto per impedire che l'istruzione venga eliminata durante la modifica del controllore.
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Parametro Execute
Istanza

Tipo di parametro Ingresso
Ingresso

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

Abilitazione del blocco istruzione.

TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata.

FALSE: nessun fronte di salita rilevato.

UDINT

Copiare dal Socket Handler restituito da un blocco funzione SOCKET_CREATE.

624

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro Timeout

Tipo di parametro
Ingresso

Tipo di dati UDINT

Descrizione

Capitolo 23 Istruzioni socket

Timeout per il blocco funzione SOCKET_OPEN. Il blocco funzione restituisce un errore se il valore di timeout è inferiore al valore minimo.
Intervallo timeout: 1000 - 1800000 millisecondi Impostare Timeout su 0 per utilizzare il valore predefinito 10.000 (10 secondi).

DestAddr

Ingresso

SOCKADDR_CFG

L'indirizzo della connessione di destinazione. È necessario indicare una connessione tra l'indirizzo IP e il numero di porta dell'host remoto. I seguenti indirizzi IP non sono supportati per DestAddr: · Indirizzo IP automatico · Indirizzo Loopback · 0.0.0.0 · Indirizzo di trasmissione (supportato solo per TCP), indirizzi di eccezione:
· Indirizzo multicast Class D (224.x.x.x) · Indirizzo di collegamento locale (169.254.x.x) Esempio per indirizzo IP 192.168.2.100 e Porta 12000: · DestAddr.IPAddress[0]=192 · DestAddr.IPAddress[1]=168 · DestAddr.IPAddress[2]=2 · DestAddr.IPAddress[3]=100 · DestAddr.Port = 12000

EnUDPRxFilter Ingresso

BOOL

Done Busy Errore Stato

Uscita

BOOL

Uscita

BOOL

Uscita

BOOL

Uscita

SOCK_STATUS

Per il socket UDP, se vengono usati SOCKET_OPEN e Abilita EnUDPRxFilter, non è necessario ogni volta un filtro del pacchetto per l'indirizzo IP specifico e il numero di porta per leggere i dati. · Viene creato un socket UDP con apertura. DestAddr come IP 192.168.1.157/Porta 161. Abilita
EnUDPRxFilter, esegue Socket_Read. · Quando il controllore riceve dati da DestAddr (192.168.1.157 / 161), Socket_Read completa
l'operazione. Se il controllore riceve dati da un altro IP o un'altra Porta, socket_Read ignora tale pacchetto e attende il pacchetto DestAddr.
EnUDPRxFilter disattivato: · Eseguire SOCKET_READ. Il controllore riceve dati sulla porta UDP di configurazione,
SOCKET_READ completa l'operazione. · L'applicazione controlla se il pacchetto in entrata arriva dal dispositivo previsto o no. · L'applicazione gestisce i filtri in base all'UDPAddr del parametro di output SOCKET_READ. Indica se l'operazione è stata completata. TRUE: l'operazione è stata completata correttamente. FALSE: l'operazione è in corso oppure è stato generato un errore. L'output viene aggiornato in modo sincrono alla scansione del programma. TRUE: l'operazione non viene terminata. FALSE: l'operazione è completata. L'output viene aggiornato in modo sincrono alla scansione del programma. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. L'output viene aggiornato in modo sincrono alla scansione del programma. Stato definito utilizzando il tipo di dati SOCK_STATUS che contiene informazioni su ErrorID, SubErrorID e StatusBits. L'output viene aggiornato in modo sincrono alla scansione del programma.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

625

Capitolo 23 Istruzioni socket

Esempio di Programmazione a blocchi funzionali SOCKET_OPEN

Esempio di Diagramma ladder SOCKET_OPEN

Esempio di Testo strutturato SOCKET_OPEN

626

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati
Esempio di TCP

Capitolo 23 Istruzioni socket

Esempio di UDP

Vedere anche
Istruzioni socket a pagina 603 Tipo di dati SOCKADDR_CFG a pagina 636 Tipo di dati SOCK_STATUS a pagina 637 Bit di stato per l'istruzione del socket a pagina 641 Codici di errore del socket a pagina 637

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

627

Capitolo 23 Istruzioni socket
SOCKET_READ

Legge i dati su un socket e restituisce il numero di byte specificato. Per Transmission Control Protocol (TCP), restituisce fino al numero di byte richiesti quando si ricevono dati. Per User Datagram Protocol (UDP), verrà completato quando un datagram è disponibile.
Dettagli operazione:
Il seguente comportamento SOCKET_READ può influenzare le comunicazioni esistenti inclusa la comunicazione non-socket.
· Se l'operazione SOCKET_READ non viene eseguita in sincronia con il dispositivo remoto, il controllore continua a fare in modo che il dispositivo remoto riceva pacchetti fino a quando non si verifica una delle seguenti condizioni:
· Viene eseguita l'istruzione SOCKET_READ. · Il timeout del Socket scade. · Viene ricevuta l'istruzione RST da un dispositivo remoto. · Viene eseguita l'istruzione SOCKET_DELETE o
SOCKET_DELETEALL. · L'utente esegue una Modifica in modalità Run che elimina
tutte le istanze Socket create. · Il controllore passa dalla modalità Run alla modalità di
programmazione e tutte le istanze Socket create vengono eliminate. · Il controllore passa dalla modalità Run alla modalità di programmazione e le informazioni sul contatore di diagnostica del socket e sul contatore di ogni Socket vengono cancellate.
· Se il valore del parametro Length o Offset viene modificato mentre l'operazione SOCKET_READ è in corso (BUSY = True), si verifica un errore e il pacchetto ricevuto viene ignorato.
· L'istruzione SOCKET_READ può restituire meno byte di quelli richiesti. RxLength contiene il numero di byte di dati ricevuti. Scrivere programmi per controllare RxLength e generare richieste di lettura aggiuntive per ricevere un intero messaggio dell'applicazione.
· Nella modalità Modifica in modalità Run, la modifica a un ingresso SOCKET_READ durante il funzionamento nello stato OCCUPATO genera un errore e il pacchetto ricevuto viene ignorato.
· Le uscite vengono aggiornate in modo asincrono dalla scansione del programma.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro820, Micro850 e Micro870. Per Micro800 Simulator, questa istruzione può essere aggiunta a un programma ma si tratta solo di un segnaposto per impedire che l'istruzione venga eliminata durante la modifica del controllore.

628

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Parametro Execute
Istanza Timeout Lunghezza
Offset Dati
Done
Busy Errore
Stato RxLength

Tipo di parametro Ingresso
Ingresso Ingresso
Ingresso
Ingresso Uscita
Uscita
Uscita Uscita
Uscita Uscita

Tipo di dati

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.
Descrizione

BOOL UDINT UDINT UINT UNIT USINT[1..1] BOOL BOOL BOOL SOCK_STATUS UNIT

Abilitazione istruzioni. TRUE: quando viene rilevato fronte di salita, avvia l'istruzione, ammesso che l'ultima operazione sia stata completata. FALSE: non avvia l'istruzione. Copiare dal Socket Handler restituito da un'istruzione SOCKET_CREATE o SOCKET_ACCEPT. · Per i tipi di socket client TCP e UDP, copiare il Socket Handler restituito da un'istruzione SOCKET_CREATE. · Per il tipo di socket server TCP, copiare il Socket Handler restituito da un'istruzione SOCKET_ACCEPT.
Timeout per SOCKET_READ. Il blocco istruzione restituisce un errore se il valore di timeout è inferiore al valore minimo. Intervallo timeout: 1000-86400000 millisecondi Impostare il timeout su 0 per usare il valore predefinito 10.000 (10 secondi). Definisce il numero di byte da leggere. Controllare RxLength per il numero effettivo di byte letti. SOCKET_READ può restituire meno byte di quelli richiesti. Supporta fino a 256 byte. Offset nel vettore di Dati. Avviare la lettura dei dati letti da questa posizione. Un vettore usato per memorizzare i dati letti da SOCKET_READ. · La dimensione del vettore di dati deve essere >= (Offset + Length). · Il vettore di dati può essere maggiore di Length del socket letto. L'output viene aggiornato in modo sincrono alla scansione del programma. Indica se l'operazione è stata completata. TRUE: l'operazione è stata completata correttamente. FALSE: l'operazione è in corso oppure è stato generato un errore. L'output viene aggiornato in modo sincrono alla scansione del programma. TRUE: l'operazione non viene terminata. FALSE: l'operazione è completata. L'output viene aggiornato in modo sincrono alla scansione del programma. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. L'output viene aggiornato in modo sincrono alla scansione del programma. Stato definito utilizzando il tipo di dati SOCK_STATUS che contiene informazioni su ErrorID, SubErrorID e StatusBits. L'output viene aggiornato in modo sincrono alla scansione del programma. Contiene il numero di byte di dati ricevuti.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

629

Capitolo 23 Parametro
UDPAddr

Istruzioni socket

Tipo di parametro
Uscita

Tipo di dati SOCKADDR_CFG

Descrizione
L'indirizzo del dispositivo che invia i dati User Datagram Protocol (UDP).
L'esempio definisce un UDPAddr di 192.168.2.100 e Porta 12000: UDPAddr.IPAddress[0]=192 UDPAddr.IPAddress[1]=168 UDPAddr.IPAddress[2]=2 UDPAddr.IPAddress[3]=100 UDPAddr.Port = 12000
Per Transmission Control Protocol (TCP), questa struttura non viene usata e conterrà tutti zero. La connessione TCP trasmette le informazioni di indirizzo remoto.

Esempio di Programmazione a blocchi funzionali SOCKET_READ

Esempio di Diagramma ladder SOCKET_READ

630

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23
Esempio di Testo strutturato SOCKET_READ

Istruzioni socket

Risultati
Esempio di TCP:

Esempio di UDP:

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

631

Capitolo 23 Istruzioni socket

Vedere anche
Codici di errore del socket a pagina 637 Istruzioni socket a pagina 603 Bit di stato per l'istruzione del socket a pagina 641 Tipo di dati SOCK_STATUS a pagina 637 Tipo di dati SOCKADDR_CFG a pagina 636

SOCKET_WRITE

Invia dati su un socket.
Dettagli operazione:
· SOCKET_WRITE prova a inviare il numero richiesto di byte di dati specificato nel parametro Length. Quando l'operazione di invio viene completata, SOCKET_WRITE restituisce il numero di byte di dati scritti al parametro TxLength.
· L'output viene aggiornato in modo asincrono rispetto alla scansione del programma.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione si applica ai controllori Micro820, Micro850 e Micro870. Per Micro800 Simulator, questa istruzione può essere aggiunta a un programma ma si tratta solo di un segnaposto per impedire che l'istruzione venga eliminata durante la modifica del controllore.
Se l'istruzione è applicata al controllore simulato (2080-LC50-48QWBSIM) le uscite vengono sempre ripristinate.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

632

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro Execute

Tipo di parametro
Ingresso

Tipo di dati BOOL

Istanza

Ingresso

UDINT

Timeout

Ingresso

UDINT

UDPAddr

Ingresso

SOCKADDR_CFG

Dati

Ingresso

USINT[1..1]

Lunghezza

Ingresso

UINT

Offset

Ingresso

UNIT

Done

Uscita

BOOL

Busy Errore

Uscita

BOOL

Uscita

BOOL

Stato TxLength

Uscita Uscita

SOCK_STATUS UNIT

Descrizione

Capitolo 23 Istruzioni socket

Abilitazione del blocco istruzione. TRUE: quando viene rilevato fronte di salita, avvia il blocco istruzione ammesso che l'ultima operazione sia stata completata. FALSE: nessun fronte di salita rilevato.
Copiare il Socket Handler restituito da un'istruzione SOCKET_CREATE o SOCKET_ACCEPT. · Per i tipi di socket client TCP e UDP, copiare il Socket Handler restituito da un'istruzione
SOCKET_CREATE. · Per il tipo di socket server TCP, copiare dal Socket Handler restituito da un'istruzione
SOCKET_ACCEPT.
Timeout per istanze SOCKET_WRITE. L'istruzione restituisce un errore se il valore di timeout è inferiore al valore minimo. Intervallo timeout: 1000-1800000 millisecondi Impostare il timeout su 0 per usare il valore predefinito 10000 (10 secondi).
L'indirizzo di destinazione UDP su cui vengono scritti i dati se non sono state eseguite istruzioni SOCKET_OPEN dopo la creazione del socket. Per TCP, o quando l'istruzione SOCKET_OPEN è stata eseguita per UDP, questa struttura non viene usata e deve contenere tutti zero. La connessione TCP e l'istruzione SOCKET_OPEN per UDP comunica tutte le informazioni sugli indirizzi remoti. Esempio per un UDPAddr di 192.168.2.100 e Porta 12000:
UDPAddr.IPAddress[0]=192 UDPAddr.IPAddress[1]=168 UDPAddr.IPAddress[2]=2 UDPAddr.IPAddress[3]=100 UDPAddr.Port = 12000 Usare il tipo di dati SOCKADDR_CFG per definire UDPAddr.
Un vettore usato per memorizzare i dati scritti nella relativa istanza socket usando l'istruzione SOCKET_WRITE. · La dimensione del vettore di dati deve essere >= (Offset + Length). · Il vettore di dati può essere maggiore della lunghezza di SOCKET_WRITE.

Il numero di byte di dati da scrivere. Il valore massimo è 256 byte. Offset nel vettore di Dati. I dati scritti da SOCKET_WRITE iniziano da questa posizione. Indica se l'operazione è stata completata. TRUE: l'operazione è stata completata correttamente. FALSE: l'operazione è in corso oppure è stato generato un errore. L'output viene aggiornato in modo sincrono alla scansione del programma. TRUE: l'operazione non viene terminata. FALSE: l'operazione è completata. L'output viene aggiornato in modo sincrono alla scansione del programma. Indica che si è verificato un errore. TRUE - È stato rilevato un errore. FALSE - Nessun errore. L'output viene aggiornato in modo sincrono alla scansione del programma. Stato definito utilizzando il tipo di dati SOCK_STATUS che contiene informazioni su ErrorID, SubErrorID e StatusBits. L'output viene aggiornato in modo sincrono alla scansione del programma. Il numero di byte dei dati scritti.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

633

Capitolo 23 Istruzioni socket

Esempio di Programmazione a blocchi funzionali SOCKET_WRITE

Esempio di Diagramma ladder SOCKET_WRITE

Esempio di Testo strutturato SOCKET_WRITE

634

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati
Esempio di TCP:

Capitolo 23 Istruzioni socket

Esempio di UDP senza apertura:

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

635

Capitolo 23 Istruzioni socket

Esempio di UDP con apertura:

Vedere anche
Istruzioni socket a pagina 603 Bit di stato per l'istruzione del socket a pagina 641 Tipo di dati SOCKADDR_CFG a pagina 636 Tipo di dati SOCK_STATUS a pagina 637 Codici di errore del socket a pagina 637

Tipo di dati SOCKADDR_CFG La tabella seguente descrive il tipo di dati SOCKADDR_CFG.

Parametri

Tipo di dati

Descrizione

Porta

UINT

Indirizzo IP[4]

USINT

Specificare un numero di porta locale in cui un'applicazione è in ascolto e riceve i dati. Specificare un indirizzo IP.

Esempio di indirizzo IP 192.168.2.100: · IPAddress[0]=192 · IPAddress[1]=168 · IPAddress[2]=2 · IPAddress[3]=100

Vedere anche
Codici di errore del socket a pagina 637 Tipo di dati SOCK_STATUS a pagina 637

636

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket

Tipo di dati SOCK_STATUS La tabella seguente descrive il tipo di dati SOCK_STATUS.

Parametri

Tipo di dati

Descrizione

ErrorID

USINT

Valore codice di errore.

SubErrorID

UINT

Valore codice di errore secondario.

StatusBits

UINT

Bit dello stato di esecuzione per le istruzioni del socket.

Vedere anche
Codici di errore del socket a pagina 637 Tipo di dati SOCKADDR_CFG a pagina 636 Bit di stato per l'istruzione del socket a pagina 641

Codici di errore del socket La tabella seguente descrive i codici di errore dello stato per le
istruzioni del socket:

Codice ErrorID 0
1
2

Codice SubErrorID

3

4

1

Descrizione errore L'istruzione del socket ha completato correttamente l'operazione. L'istruzione del socket è in sospeso. L'istanza del socket non è disponibile. L'operazione SOCKET_DELETEALL è in corso. Parametro non valido, canale non valido.

Azione correttiva
La conferma dell'istanza del socket non è stata eliminata o è stato superato il valore di timeout. Per terminare, attendere il completamento dell'operazione di SOCKET_DELETEALL in attesa. Nessuna azione. Riservato per uso futuro.

4

2

Parametro non valido, indirizzo IP del socket non valido. · L'errore si verifica quando SOCKET_CREATE contiene un SockAddr
con valori diversi da zero. · SOCKET_OPEN o SOCKET_WRITE vengono eseguiti con un indirizzo
IP di destinazione non valido. Gli indirizzi IP di destinazione non validi sono: · Indirizzo IP automatico · 0.0.0.0 · Indirizzo loopback (127.x.x.x) · Indirizzo Multicast Class D (224.x.x.x) · Indirizzo di collegamento locale (169.254.x.x) · Indirizzo di trasmissione (applicabile solo per l'istanza del socket
TCP)

Sostituire con un indirizzo IP valido.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

637

Capitolo 23 Codice ErrorID 4
4 4 4
4 4 5
6

Istruzioni socket

Codice SubErrorID 3
4 5 6
7

Descrizione errore

Azione correttiva

Parametro non valido, indirizzo della porta del socket non valido. L'errore si verifica quando le seguenti porte vengono specificate in SOCKET_CREATE, SOCKET_OPEN o SOCKET_WRITE: · Porte TCP
· 44818 - Ethernet/IP · 502 -ModbusTCP · 67 - Server DHCP · 68 - Client DHCP · 0 - Porta non valida · Porte UDP · 2222 ­ Ethernet/IP · 67 ­ Server DHCP · 68 ­ Client DHCP · 0 ­ Porta non valida Parametro non valido, tipo di socket non valido. I tipi di socket validi sono: · TCP - 1 · UDP - 2 Parametro non valido, valore di timeout del socket non valido. I valori di timeout validi sono: · SOCKET_CREATE, SOCKET_ACCEPT e SOCKET_READ: · 0 (predefinito) o qualsiasi valore tra 1000 e 86400000 ms. · SOCKET_OPEN e SOCKET_WRITE: · 0 (predefinito) o qualsiasi valore tra 1000 e 86400000 ms. Parametro non valido, istanza del socket non valida. · Tipo di socket del server TCP: · Utilizzare l'istanza del socket restituita in SOCKET_ACCEPT per
SOCKET_WRITE, SOCKET_READ, SOCKET_DELETE e SOCKET_INFO. · Socket UDP e tipi di socket del client TCP: · Utilizzare l'istanza del socket restituita in SOCKET_CREATE per SOCKET_OPEN, SOCKET_WRITE, SOCKET_READ, SOCKET_DELETE e SOCKET_INFO.
Parametro non valido, lunghezza dell'array non valida.

Modificare l'indirizzo della porta.
Modificare il tipo di socket. Modificare il valore di timeout con un valore valido.
Utilizzare il numero dell'istanza restituita nelle istruzioni SOCKET_CREATE e SOCKET_ACCEPT dopo il completamento dell'esecuzione.
Aumentare la dimensione dell'array utilizzato per contenere i dati di lettura e scrittura del socket.

8

Parametro non valido, dimensione dell'array non valida.

Utilizzare l'array unidimensionale per contenere i dati di

lettura e scrittura del socket.

Il socket richiede l'annullamento dell'operazione. Si verifica un errore quando: · Il collegamento Ethernet è disattivato o il cavo Ethernet è
disconnesso

Riavviare l'operazione del socket in base al tipo di socket. Consultare lo stato della macchina corrispondente per riavviare l'operazione del socket.

· L'operazione SOCKET_DELETE viene eseguita quando l'operazione SOCKET_OPEN, SOCKET_ACCEPT, SOCKET_READ o

SOCKET_WRITE è in corso.

· L'operazione Modifica in modalità Run viene eseguita quando l'operazione SOCKET_OPEN, SOCKET_ACCEPT, SOCKET_READ o SOCKET_WRITE è in corso.

· La collisione dell'indirizzo IP rilevata quando l'operazione SOCKET_OPEN, SOCKET_ACCEPT, SOCKET_READ o SOCKET_WRITE è in corso.

1

Sequenza del socket non valida, operazione apertura socket in corso o Utilizzare l'esecuzione unidirezionale SOCKET_OPEN per

connesso.

l'istanza del socket corrispondente. Non eseguire l'operazione

Si verifica un errore quando:

SOCKET_ACCEPT per la stessa istanza del socket.

· SOCKET_OPEN è in corso (stato BUSY) e l'utente esegue un'altra istanza SOCKET_OPEN con la stessa istanza del socket.

· SOCKET_OPEN è in corso (stato BUSY) e l'utente esegue SOCKET_ACCEPT con la stessa istanza del socket.

638

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Codice ErrorID
6

Codice SubErrorID
2

6

3

6

4

6

5

6

6

6

7

7

8

9

1

9

2

9

3

9

4

9

5

10

1

10

2

10

3

10

4

10

5

10

6

10

7

11

1

Descrizione errore

Capitolo 23 Azione correttiva

Istruzioni socket

Sequenza del socket non valida, operazione accettazione socket in corso o connesso. Si verifica un errore quando: · SOCKET_ACCEPT è in corso (stato BUSY) e l'utente esegue un'altra
istanza SOCKET_ACCEPT con la stessa istanza del socket. · SOCKET_ACCEPT è in corso (stato BUSY) e l'utente esegue
SOCKET_OPEN con la stessa istanza del socket. Sequenza del socket non valida, socket configurato come client TCP.
Sequenza del socket non valida, socket configurato come server TCP. Sequenza del socket non valida, il socket è connesso.

Utilizzare l'esecuzione unidirezionale SOCKET_ACCEPT per l'istanza del socket corrispondente. Non eseguire l'operazione SOCKET_OPEN per la stessa istanza del socket.
Verificare che il socket non sia ancora connesso con un dispositivo remoto prima di eseguire nuovamente SOCKET_OPEN o SOCKET_ACCEPT.

Sequenza del socket non valida, socket configurato come UDP.
Sequenza del socket non valida, il socket non è connesso. Timeout dell'istanza del socket.
Il modulo del socket non viene inizializzato.
Errore irreversibile dell'istruzione del socket, istanza del socket mancante. Errore irreversibile dell'istruzione del socket, istanza del socket non valida. Errore irreversibile dell'istruzione del socket, istanza del socket di blocco non valida. Errore irreversibile dell'istruzione del socket, tipo di socket non valido. Errore irreversibile dell'istruzione del socket, gestore annullamento mancante. Errore di elaborazione del socket in background, indirizzo in uso.

Verificare che le istanze del socket UDP non vengano utilizzate con SOCKET_ACCEPT.
Confermare che il socket sia connesso alla destinazione.
Di conseguenza, configurare i valori di timeout per SOCKET_ACCEPT, SOCKET_OPEN, SOCKET_READ e SOCKET_WRITE.
Verificare che il collegamento Ethernet sia abilitato o che il cavo Ethernet del controllore sia connesso alla rete o risolvere il conflitto dell'indirizzo IP del controllore.

Errore di elaborazione del socket in background, UDP ha ricevuto un pacchetto che supera la lunghezza del socket di lettura.
Errore di elaborazione del socket in background, TCP ha ricevuto un pacchetto che supera la lunghezza del socket di lettura.
Errore di elaborazione del socket in background, RST ricevuto o Disconnessione dal dispositivo remoto.
Errore di elaborazione del socket in background, pacchetto UDP ricevuto da un dispositivo diverso, pacchetto scartato. Riservato per uso futuro. Errore di elaborazione del socket in background, la coda è piena. Si verifica un errore quando: · SOCKET_READ o SOCKET_WRITE eseguono quattro istruzioni per la
stessa istanza del socket nella stessa scansione. · Eseguire un SOCKET_READ quando le quattro istruzioni
SOCKET_READ sono nello stato BUSY per stessa istanza del socket. Errore di elaborazione del socket in background, modifica al parametro SOCKET_READ (Length, Offset, Data Array Size e Data Array Variable). Errore irreversibile di elaborazione del socket in background, puntatore dati mancanti.

Verificare che la lunghezza SOCKET_READ sia maggiore o uguale alla dimensione del pacchetto ricevuto. È consigliata la dimensione di lettura massima. La dimensione massima per SOCKET_READ è 256. Verificare che la lunghezza SOCKET_READ sia maggiore o uguale alla dimensione del pacchetto ricevuto. Dato che il client potrebbe inviare dati fino alla dimensione massima di 256, 256 è il valore consigliato. Riavviare il server o il client TCP del controllore come mostrato nel diagramma dello stato. Verificare il dispositivo di destinazione che ha inviato l'RST e assicurarsi che la destinazione venga riavviata con lo stato corretto.
Attendere la disponibilità della coda per SOCKET_READ e SOCKET_WRITE per le rispettive istanze del socket.
Quando lo stato SOCKET_READ è BUSY, non modificare i parametri di ingresso.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

639

Capitolo 23 Codice ErrorID 11
11
11
11
11
11
11
11
11
128 128 128 128 128 128 128 128 128 128 128 128 128 128 128 128
128 128 128 128 128 128
128 128
128 128 128 128 128 128

Istruzioni socket

Codice SubErrorID 2
3
4
5

Descrizione errore

Azione correttiva

Errore irreversibile di elaborazione del socket in background, puntatore sessioni mancanti. Errore irreversibile di elaborazione del socket in background, puntatore socket TCP o UDP non valido.
Errore irreversibile di elaborazione del socket in background, tipo di istanza del socket non valido.
Errore irreversibile di elaborazione del socket in background, istanza del socket mancante.

6

Errore irreversibile di elaborazione del socket in background, istanza

del socket non valida.

7

Errore irreversibile di elaborazione del socket in background, stato del

socket non valido.

8

Errore irreversibile di elaborazione del socket in background, tipo di

socket non valido.

9

Errore irreversibile di elaborazione del socket in background, errore di

eliminazione del TCP.

10

Errore irreversibile di elaborazione del socket in background, errore di

eliminazione dell'UDP.

1

Nessun pacchetto disponibile per il messaggio di disconnessione.

2

Spazio insufficiente per anteporre l'intestazione TCP.

3

Puntatore per l'aggiunta del pacchetto non valido.

7

Puntatore socket non valido.

10

Opzione tipo di servizio, frammento o durata non valida.

17

Chiamante non valido per questo servizio.

18

Pacchetto non valido.

20

Questo componente non è stato attivato.

21

Questo componente è già stato attivato.

22

Ascolto non abilitato per la porta specificata.

26

La sospensione richiesta è stata annullata.

33

Indirizzo IP del server non valido.

34

Questo socket è associato a un'altra porta.

35

La porta è associata a un socket diverso.

36

Il socket non è associato.

38

Il socket non è stato associato durante l'attesa sospesa di un pacchetto

di ricezione.

39

Il socket non è stato creato.

51

Nessuna ulteriore struttura di richiesta di ascolto disponibile.

52

Esiste già una richiesta di attesa attiva per questa porta.

53

Il socket non ha uno stato chiuso.

54

Il socket del server fornito non è in stato di ascolto.

55

Nessun tempo di attesa specificato, il tentativo di connessione è in

corso.

56

Connessione non riuscita.

57

La richiesta supera la dimensione in byte della finestra annunciata del

destinatario.

64

Un altro thread è stato sospeso. È consentito un solo thread.

65

La disconnessione non è stata completata nell'intervallo di timeout.

66

Il socket è associato.

69

Nessuna porta disponibile

70

Porta non valida.

71

Esiste già un puntatore del socket valido per questa porta o per la

porta specificata non è presente una richiesta di ascolto attiva.

640

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Codice ErrorID
128

Codice SubErrorID
72

128

73

Descrizione errore

Capitolo 23 Azione correttiva

Come per NX_SUCCESS, con l'unica differenza che durante la chiamata è stata elaborata una richiesta di connessione in coda.
Errore per superamento della coda di trasmissione del TCP.

Istruzioni socket

Vedere anche

Bit di stato per l'istruzione del socket

Istruzioni socket a pagina 603 Tipo di dati SOCK_STATUS a pagina 637 Bit di stato per l'istruzione del socket a pagina 641 La tabella seguente descrive l'esecuzione dei Bit dello stato per le istruzioni del socket.

Numero di bit Nome

Descrizione

0

EN - Abilita bit

Il bit EN viene impostato quando l'istruzione è abilitata a causa di una transizione da

False a True, ma non è ancora stata completata o ha generato errori.

1

EW - Abilita bit nella Il bit EW viene impostato quando il controllore rileva che una richiesta di istruzioni del

coda Attesa

socket è stata inserita in coda.

Il controllore esegue il reset del bit EW quando viene impostato il bit ST.

2

ST - Avvia bit

Il bit ST viene impostato durante l'esecuzione dell'istruzione in coda.

Quando viene impostato il bit DN o ER, viene eseguito il reset del bit ST.

3

ER - Errore bit

Indica che si è verificato un errore durante l'esecuzione dell'istruzione. Viene eseguito il

reset del bit ER al successivo passaggio in cui si verifica la condizione di transizione da

False a True.

4

DN - Bit completato Il bit DN viene impostato quando l'istruzione del socket viene completata

correttamente. Viene eseguito il reset del bit DN al successivo passaggio in cui si

verifica la condizione di transizione da False a True.

Vedere anche
Codici di errore del socket a pagina 637 Tipo di dati SOCKADDR_CFG a pagina 636

Diagrammi di temporizzazione dell'istruzione Socket

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

641

Capitolo 23 Istruzioni socket

Esecuzione corretta delle istruzioni del socket quando il processo è immediato

Condizione A: La condizione ramo è TRUE durante l'esecuzione delle

istruzioni

Condizione ramo

Descrizione

1

La condizione ramo diventa TRUE quando:

· L'esecuzione delle istruzioni del socket è abilitata.

· Viene impostato il bit EN e tutti gli altri bit vengono cancellati.

· Le istruzioni del socket completano l'esecuzione correttamente.

· L'uscita per il bit DN e DONE viene impostata.

2, 3, 4

Nessuna modifica nella condizione ramo.

5

La condizione ramo diventa FALSE quando il bit EN viene cancellato.

6,7

Nessuna modifica nella condizione ramo.

642

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket

Condizione B: La condizione ramo è FALSE durante l'esecuzione delle

istruzioni

Condizione ramo

Descrizione

8

La condizione ramo diventa TRUE quando:

· L'esecuzione delle istruzioni del socket è abilitata.

· Le istruzioni del socket completano l'esecuzione correttamente.

· Viene impostato il bit EN e tutti gli altri bit vengono cancellati.

· L'uscita per il bit DN e DONE viene impostata.

9

La condizione ramo diventa FALSE quando:

· Il bit EN è cancellato.

10,11

Nessuna modifica nella condizione ramo.

Esecuzione corretta delle istruzioni del socket quando il processo non è immediato

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

643

Capitolo 23

Istruzioni socket

Condizione A: La condizione ramo è TRUE durante l'esecuzione delle

istruzioni

Condizione ramo

Descrizione

1

La condizione ramo diventa TRUE quando:

· L'esecuzione delle istruzioni del socket è abilitata.

· Viene impostato il bit EN e tutti gli altri bit vengono cancellati.

· Le istruzioni del socket eseguono l'elaborazione in background.

· L'uscita per il bit EW e BUSY viene impostata.

· Parametro ingresso delle istruzioni del socket bloccato per l'elaborazione in background.

2

Le istruzioni del socket avviano l'esecuzione quando:

· Il bit EW è cancellato.

· Il bit ST viene impostato.

3

Le istruzioni del socket completano l'esecuzione correttamente quando:

· L'uscita per il bit ST e BUSY viene cancellata.

· L'uscita per il bit DN e DONE viene impostata.

4

Nessuna modifica nella condizione ramo.

5

La condizione ramo diventa FALSE quando:

· Il bit EN è cancellato.

6,7

Nessuna modifica nella condizione ramo.

Condizione B: La condizione ramo diventa FALSE durante l'esecuzione

delle istruzioni

Condizione ramo

Descrizione

8

La condizione ramo diventa TRUE quando:

· L'esecuzione delle istruzioni del socket è abilitata.

· Viene impostato il bit EN e tutti gli altri bit vengono cancellati.

· Le istruzioni del socket inviano l'elaborazione in background.

· L'uscita per il bit EW e BUSY viene impostata.

· Parametro ingresso delle istruzioni del socket bloccato per l'elaborazione in background.

9

Le istruzioni del socket avviano l'esecuzione quando:

· Il bit EW è cancellato.

· Il bit ST viene impostato.

· La condizione ramo diventa FALSE.

10

Le istruzioni del socket completano l'esecuzione correttamente quando:

· L'uscita per il bit ST e BUSY viene cancellata.

· L'uscita per il bit DN e DONE viene impostata.

· La condizione ramo è FALSE.

· Il bit EN è cancellato.

644

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket
Errore delle istruzioni del socket quando EN è TRUE ed EW e ST sono FALSE

Condizione A: La condizione ramo è TRUE durante l'esecuzione delle

istruzioni

Condizione ramo

Descrizione

1

La condizione ramo diventa TRUE quando:

· L'esecuzione delle istruzioni del socket è abilitata.

· Viene impostato il bit EN e tutti gli altri bit vengono cancellati.

· Le istruzioni del socket consentono di completare l'esecuzione con errore.

· L'uscita per il bit ER e l'errore viene impostata.

2,3

Nessuna modifica nella condizione ramo.

4

La condizione ramo diventa FALSE quando:

· Il bit EN è cancellato.

5,6

Nessuna modifica nella condizione ramo.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

645

Capitolo 23

Istruzioni socket

Condizione B: La condizione ramo diventa FALSE durante l'esecuzione

delle istruzioni

Condizione ramo

Descrizione

7

La condizione ramo diventa TRUE quando:

· L'esecuzione delle istruzioni del socket è abilitata.

· Viene impostato il bit EN e tutti gli altri bit vengono cancellati.

· Le istruzioni del socket consentono di completare l'esecuzione con errore.

· L'uscita per il bit ER e l'errore viene impostata.

8

La condizione ramo diventa FALSE quando:

· Il bit EN è cancellato.

9

Nessuna modifica nella condizione ramo.

Errore delle istruzioni del socket quando EW è TRUE e il processo dell'istruzione non è immediato

646

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket

Condizione A: La condizione ramo è TRUE durante l'esecuzione delle

istruzioni

Condizione ramo

Descrizione

1

La condizione ramo diventa TRUE quando:

· L'esecuzione delle istruzioni del socket è abilitata.

· Viene impostato il bit EN e tutti gli altri bit vengono cancellati.

· Le istruzioni del socket inviano l'elaborazione in background.

· L'uscita per il bit EW e BUSY viene impostata.

· Parametro ingresso delle istruzioni del socket bloccato per l'elaborazione in background.

2

Le istruzioni del socket completano l'esecuzione con errore quando:

· L'uscita per il bit EW e BUSY viene cancellata.

· L'uscita per il bit ER e l'errore viene impostata.

3,4

Nessuna modifica nella condizione ramo.

5

La condizione ramo diventa FALSE quando:

· Il bit EN è cancellato.

6,7

Nessuna modifica nella condizione ramo.

Condizione B: La condizione ramo diventa FALSE durante l'esecuzione

delle istruzioni

Condizione ramo

Descrizione

8

La condizione ramo diventa TRUE quando:

· L'esecuzione delle istruzioni del socket è abilitata.

· Viene impostato il bit EN e tutti gli altri bit vengono cancellati.

· Le istruzioni del socket inviano l'elaborazione in background.

· L'uscita per il bit EW e BUSY viene impostata.

· Parametro ingresso delle istruzioni del socket bloccato per l'elaborazione in background.

9

Le istruzioni del socket completano l'esecuzione con errore quando:

· L'uscita per il bit EW e BUSY viene cancellata.

· L'uscita per il bit ER e l'errore viene impostata.

· La condizione ramo diventa FALSE.

· Il bit EN è cancellato.

10,11

Nessuna modifica nella condizione ramo.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

647

Capitolo 23 Istruzioni socket

Errore delle istruzioni del socket quando ST è TRUE e il processo dell'istruzione non è immediato

Condizione A: La condizione ramo è TRUE durante l'esecuzione delle

istruzioni

Condizione ramo

Descrizione

1

La condizione ramo diventa TRUE quando:

· L'esecuzione delle istruzioni del socket è abilitata.

· Viene impostato il bit EN e tutti gli altri bit vengono cancellati.

· Le istruzioni del socket inviano l'elaborazione in background.

· L'uscita per il bit EW e BUSY viene impostata.

· Parametro ingresso delle istruzioni del socket bloccato per l'elaborazione in background.

2

Le istruzioni del socket avviano l'esecuzione quando:

· Il bit EW è cancellato.

· Il bit ST viene impostato.

3

Le istruzioni del socket completano l'esecuzione con errore quando:

· L'uscita per il bit ST e l'uscita BUSY viene cancellata.

· L'uscita per il bit ER e l'errore viene impostata.

4

Nessuna modifica nella condizione ramo.

5

La condizione ramo diventa FALSE quando:

· Il bit EN è cancellato.

6,7

Nessuna modifica nella condizione ramo.

648

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket

Condizione B: La condizione ramo diventa FALSE durante l'esecuzione

delle istruzioni

Condizione ramo

Descrizione

8

La condizione ramo diventa TRUE quando:

· L'esecuzione delle istruzioni del socket è abilitata.

· Viene impostato il bit EN e tutti gli altri bit vengono cancellati.

· Le istruzioni del socket inviano l'elaborazione in background.

· L'uscita per il bit EW e BUSY viene impostata.

· Parametro ingresso delle istruzioni del socket bloccato per l'elaborazione in background.

9

Le istruzioni del socket avviano l'esecuzione quando:

· Il bit EW viene cancellato e il bit ST impostato.

10

Le istruzioni del socket completano l'esecuzione con errore quando:

· L'uscita per il bit ST e BUSY viene cancellata.

· L'uscita per il bit ER e l'errore viene impostata.

· La condizione ramo diventa FALSE.

· Il bit EN è cancellato.

11

Nessuna modifica nella condizione ramo.

Diagrammi di transazione dell'istruzione Socket
Transazioni per client TCP

Vedere anche
Istruzioni socket a pagina 603 Bit di stato per l'istruzione del socket a pagina 641 Il diagramma seguente mostra una sequenza tipica di transazioni dell'interfaccia del socket con il controllore che opera come client TCP.

Transazioni per server TCP

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

649

Capitolo 23 Istruzioni socket

Il diagramma seguente mostra una sequenza tipica di transazioni dell'interfaccia del socket con il controllore come un server TCP.

Transazioni per UDP con connessione aperta

Il diagramma seguente mostra una sequenza tipica di transazioni dell'interfaccia del socket per le comunicazioni UDP quando si utilizza il servizio di connessione aperta per specificare l'indirizzo di destinazione.

Transazioni per UDP senza connessioni aperte

Il diagramma seguente mostra una sequenza tipica di transazioni dell'interfaccia del socket per le comunicazioni UDP senza utilizzare il servizio di connessione aperta per specificare l'indirizzo di destinazione. In questo caso, il controllore specifica la destinazione per

650

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23 Istruzioni socket
ogni datagramma e riceve l'indirizzo del mittente insieme a ogni datagramma ricevuto.

Diagrammi di stato della macchina per TCP

Vedere anche
Istruzioni socket a pagina 603 Diagrammi di temporizzazione dell'istruzione Socket a pagina 641

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

651

Capitolo 23 Istruzioni socket

Client TCP tramite leistruzioni del socket

652

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Server TCP tramite le istruzioni del socket

Capitolo 23

Istruzioni socket

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

653

Capitolo 23 Istruzioni socket

Diagramma dello stato del TCP

Vedere anche
Istruzioni socket a pagina 603 Diagrammi di temporizzazione dell'istruzione Socket a pagina 641 Diagrammi di stato della macchina per UPD a pagina 654
Diagrammi dello stato della macchina per UDP

654

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 23
Datagramma UDP con istruzione SOCKET_OPEN

Istruzioni socket

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

655

Capitolo 23 Istruzioni socket

Datagramma UDP senza istruzione SOCKET_OPEN

Vedere anche
Istruzioni socket a pagina 603 Diagrammi di temporizzazione dell'istruzione Socket a pagina 641 Diagrammi di stato della macchina per TCP a pagina 651

656

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

ASCII

Capitolo 24
Istruzioni di elaborazione della stringa

Istruzione ASCII a pagina 657 CHAR a pagina 659

Le istruzioni di elaborazione della stringa si utilizzano per alterare una sequenza di simboli scelti da una serie o dall'alfabeto al fine di modificare lo stato delle uscite. per leggere correttamente le stringhe di ingresso contenenti caratteri speciali, inserire i caratteri delle stringhe quando il programma che contiene l'istanza del blocco funzione è online.
Descrizione
Restituire il codice ASCII per i caratteri in una stringa. Carattere -> codice ASCII.
Restituisce una stringa di un carattere per un codice ASCII. Codice ASCII -> Carattere.

DELETE a pagina 661 FIND a pagina 663
INSERT a pagina 664 LEFT a pagina 667 MID a pagina 668
MLEN a pagina 671 REPLACE a pagina 674 RIGHT a pagina 672

Elimina i caratteri da una stringa. individua e fornisce la posizione delle sottostringhe nelle stringhe.
inserisce sottostringhe in posizioni definite dall'utente all'interno delle stringhe. Estrae i caratteri dal lato sinistro di una stringa. Estrae i caratteri dal centro di una stringa.
Calcola la lunghezza di una stringa. Sostituisce le parti di una stringa con nuovi set di caratteri. Estrae i caratteri dal lato destro di una stringa.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

Restituisce il codice ASCII per i caratteri nelle stringhe.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

657

Capitolo 24 Istruzioni di elaborazione della stringa

Parametro EN

Tipo di parametro
Ingresso

Tipo di dati BOOL

IN

Ingresso

STRING

Pos

Ingresso

DINT

ASCII

Uscita

DINT

ENO

Uscita

BOOL

Descrizione
Abilitazione istruzioni. TRUE: visualizza il codice ASCII per i caratteri. FALSE: nessuna operazione di visualizzazione. Applicabile alle programmazioni in Ladder Diagram. Qualsiasi stringa non vuota.
Posizione del carattere selezionato nel set [1.. len] (len rappresenta la lunghezza della stringa IN)
Codice ASCII del carattere selezionato (nel set [0 .. 255]) produce 0 se Pos non rientra nella stringa.
Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali ASCII

Esempio di diagramma ladder ASCII

Esempio di testo strutturato ASCII

(* Equivalenza ST: *) FirstChr := ASCII (message, 1); (* FirstChr è il codice ASCII del primo carattere della stringa *)

658

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 24 Istruzioni di elaborazione della stringa

Vedere anche
Istruzioni di elaborazione della stringa a pagina 657

CHAR (codice ASCII a carattere della stringa)

Restituisce una stringa di un carattere per un codice ASCII. Codice ASCII -> Carattere.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
Codice CHAR ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso
Ingresso Uscita

BOOL
DINT STRING

Abilitazione istruzioni. TRUE: fornisce una stringa con un solo carattere. FALSE: nessuna operazione. Applicabile alle programmazioni in Ladder Diagram. Codice ASCII nel set [0 .. 255].
Stringa con un carattere. Il carattere è dotato del codice ASCII dato nel codice di ingresso.

Uscita

BOOL

Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

659

Capitolo 24

Istruzioni di elaborazione della stringa
Esempio di programmazione a blocchi funzionali CHAR

Esempio di diagramma ladder CHAR

Esempio di testo strutturato CHAR
(* Equivalenza ST: *) Display := CHAR ( value + 48 ); (* il valore è nel set [0..9] *) (* 48 è il codice ascii di '0' *) (* il risultato è una stringa con un carattere da '0' a '9' *)
Risultati

Vedere anche
Istruzioni di elaborazione della stringa a pagina 657

660

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

DELETE (eliminare una sottostringa)

Capitolo 24 Istruzioni di elaborazione della stringa
Elimina i caratteri da una stringa.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN NbC Pos DELETE
ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Ingresso Ingresso Ingresso
Uscita

STRING DINT DINT
STRING

Uscita

BOOL

Abilitazione istruzioni. TRUE: eliminare parti specifiche di una stringa. FALSE: nessuna operazione. Applicabile alle programmazioni in Ladder Diagram. Qualsiasi stringa non vuota.
Numero di caratteri da eliminare. Posizione del primo carattere eliminato (il primo carattere della stringa è in posizione 1). Il risultato è: · Una stringa modificata. · Una stringa vuota (se Pos < 1). · La stringa iniziale (se Pos > lunghezza stringa IN). · La stringa iniziale (se NbC <= 0). Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali DELETE

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

661

Capitolo 24

Istruzioni di elaborazione della stringa
Esempio di diagramma ladder DELETE

Esempio di testo strutturato DELETE
(* Equivalenza ST: *) stringa_completa := INSERT ('ABCD ', 'EFGH', 5); (* stringa_completa è 'ABCDEFGH ' *) sotto_stringa := DELETE (stringa_completa, 4, 3); (* sotto_stringa è 'ABGH '*)
Risultati

Vedere anche
Istruzioni di elaborazione della stringa a pagina 657

662

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

FIND (trova sottostringa)

Capitolo 24 Istruzioni di elaborazione della stringa
individua e fornisce la posizione delle sottostringhe nelle stringhe.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
In Pat FIND
ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso
Ingresso Ingresso Uscita

BOOL
STRING STRING DINT

Uscita

BOOL

Abilitazione istruzioni. TRUE: individua la posizione all'interno delle stringhe. FALSE: nessuna operazione di individuazione. Applicabile alle programmazioni in Ladder Diagram. Qualsiasi stringa non vuota.
Qualunque stringa non vuota (pattern). Il risultato è: · 0 se la sottostringa Pat non è stata trovata. · la posizione del primo carattere della prima occorrenza della sottostringa Pat (la
prima posizione è 1) Questa istruzione fa distinzione tra maiuscole e minuscole. Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali FIND

Esempio di diagramma ladder FIND

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

663

Capitolo 24

Istruzioni di elaborazione della stringa
Esempio di testo strutturato FIND

(* Equivalenza ST: *) stringa_completa := 'ABCD' + 'EFGH'; (* stringa_completa è 'ABCDEFGH ' *) trovato := FIND (stringa_completa, 'CDEF'); (* trovato è 3 *)
Risultati

Vedere anche
Istruzioni di elaborazione della stringa a pagina 657

INSERT (inserimento stringa)

inserisce sottostringhe in posizioni definite dall'utente all'interno delle stringhe.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

664

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 24 Istruzioni di elaborazione della stringa
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN Str Pos INSERT
ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso
Ingresso Ingresso Ingresso Uscita
Uscita

BOOL
STRING STRING DINT STRING
BOOL

Abilitazione istruzioni. TRUE: inserisce sottostringhe in una stringa. FALSE: nessuna operazione. Applicabile alle programmazioni in Ladder Diagram. Stringa iniziale.
Stringa da inserire. Posizione di inserimento l'inserimento avviene prima della posizione (la prima posizione valida è 1). Stringa modificata. Può essere: · stringa vuota se Pos <= 0 · concatenamento di entrambe le stringhe se Pos è maggiore della lunghezza della
stringa IN Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali INSERT

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

665

Capitolo 24

Istruzioni di elaborazione della stringa
Esempio di diagramma ladder INSERT

Esempio di testo strutturato INSERT
(* Equivalenza ST: *) MyName := INSERT ('Mr JONES', 'Frank ', 4); (* MyName è 'Mr Frank JONES' *)
Risultati

Vedere anche
Istruzioni di elaborazione della stringa a pagina 657

666

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

LEFT (estrae a sinistra di una stringa)

Capitolo 24 Istruzioni di elaborazione della stringa
Estrarre i caratteri dal lato sinistro di una stringa.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN NbC LEFT
ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro

Tipo di dati

Descrizione

Ingresso
Ingresso Ingresso Uscita Uscita

BOOL
STRING DINT STRING BOOL

Abilitazione istruzioni. TRUE: calcola il numero di caratteri della stringa partendo da sinistra. FALSE: nessuna operazione. Applicabile alle programmazioni in Ladder Diagram. Qualsiasi stringa non vuota.
Numero di caratteri da estrarre. Questo numero non può essere maggiore della lunghezza della stringa IN. Parte sinistra della stringa IN (lunghezza = NbC). Può essere: · stringa vuota se NbC <= 0 · una stringa IN completa se NbC >= lunghezza stringa IN Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali LEFT

Esempio di diagramma ladder LEFT

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

667

Capitolo 24

Istruzioni di elaborazione della stringa
Esempio di testo strutturato LEFT

(* Equivalenza ST: *) stringa_completa := RIGHT ('12345678', 4), LEFT ('12345678', 4), 5; (* la stringa_completa è '56781234' il valore restituito dalla chiamata a RIGHT è '5678' il valore ottenuto dalla chiamata LEFT è '1234'*)
Risultati

Vedere anche
Istruzioni di elaborazione della stringa a pagina 657

MID (estrae dal centro di una

Estrarre i caratteri dal centro di una stringa. Utilizzare la posizione e il numero di caratteri forniti per calcolare le parti richieste delle stringhe.

stringa)

Lingue supportate: Programmazione a blocchi funzionali, Diagramma

ladder, Testo strutturato.

668

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 24 Istruzioni di elaborazione della stringa
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN NbC Pos MID
ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Abilitazione istruzioni. TRUE: genera la porzione di una stringa. FALSE: nessuna operazione di generazione. Applicabile alle programmazioni in Ladder Diagram.

Ingresso Ingresso Ingresso Uscita
Uscita

STRING DINT DINT STRING
BOOL

Qualsiasi stringa non vuota.
Il numero di caratteri da estrarre non può essere superiore alla lunghezza della stringa IN.
Posizione della sottostringa. Il primo carattere della sottostringa è il primo a cui Pos fa riferimento (la prima posizione valida è 1). Parte centrale della stringa (lunghezza = NbC). Quando il numero di caratteri da estrarre supera la lunghezza della stringa IN, NbC è ricalcolato automaticamente per ottenere solo il resto della stringa. Quando i valori di NbC o Pos sono uguali a zero o numeri negativi, viene restituita una stringa vuota. Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali MID

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

669

Capitolo 24

Istruzioni di elaborazione della stringa
Esempio di diagramma ladder MID

Esempio di testo strutturato MID
(* Equivalenza ST: *) sotto_stringa := MID ('abcdefgh', 2, 4); (* sotto_stringa è 'de' *)
Risultati

Vedere anche
Istruzioni di elaborazione della stringa a pagina 657

670

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

MLEN (lunghezza della stringa)

Capitolo 24 Istruzioni di elaborazione della stringa
Calcola la lunghezza di una stringa.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
IN MLEN ENO

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro

Tipo di dati

Descrizione

Ingresso
Ingresso Uscita Uscita

BOOL
STRING DINT BOOL

Abilitazione istruzioni. TRUE: calcola la lunghezza della stringa. FALSE: nessuna operazione. Applicabile alle programmazioni in Ladder Diagram. Qualsiasi stringa.
Numero di caratteri nella stringa IN. Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali MLEN

Esempio di diagramma ladder MLEN

Esempio di testo strutturato MLEN

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

671

Capitolo 24

Istruzioni di elaborazione della stringa
(* Equivalenza ST: *)
nbchar := MLEN (stringa_completa);
SE (nbchar < 3) Then Return; End_if;
prefix := LEFT (stringa_completa, 3);
(* questo programma estrae i 3 caratteri a sinistra della stringa e posiziona il risultato nella variabile della stringa di prefisso. Se la lunghezza della stringa è inferiore a 3 caratteri non viene eseguita alcuna operazione *)

Risultati

Vedere anche
Istruzioni di elaborazione della stringa a pagina 657

RIGHT (estrazione a destra di una stringa)

Estrarre i caratteri dal lato destro di una stringa.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

672

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro EN

Tipo di parametro Ingresso

Tipo di dati BOOL

IN

Ingresso

NbC

Ingresso

RIGHT

Uscita

ENO

Uscita

STRING DINT STRING
BOOL

Descrizione

Capitolo 24 Istruzioni di elaborazione della stringa

Abilitazione istruzioni. TRUE: estrae il numero di caratteri specificato dall'estremità destra della stringa. FALSE: nessuna operazione. Applicabile alle programmazioni in Ladder Diagram.

Qualsiasi stringa non vuota.
Numero di caratteri da estrarre. Questo numero non può essere maggiore della lunghezza della stringa IN.
Parte destra della stringa (lunghezza = NbC). Può essere: · stringa vuota se NbC <= 0 · stringa completa se NbC >= lunghezza della stringa
Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali RIGHT

Esempio di diagramma ladder RIGHT

Esempio di testo strutturato RIGHT

(* Equivalenza ST: *)

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

673

Capitolo 24

Istruzioni di elaborazione della stringa
stringa_completa := RIGHT ('12345678', 4), LEFT ('12345678', 4),5; (* la stringa_completa è '56781234' il valore restituito dalla chiamata a RIGHT è '5678' il valore restituito dalla chiamata a LEFT è '1234' *)

Risultati

Vedere anche
Istruzioni di elaborazione della stringa a pagina 657

REPLACE (sostituisce la sottostringa)

Sostituisce le parti di una stringa con nuovi set di caratteri.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
674

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Abilitare funzione. TRUE: sostituisce parti di stringhe con nuovi caratteri. FALSE: nessuna operazione. Applicabile alle programmazioni in Ladder Diagram.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametro IN Str NbC Pos
REPLACE

Tipo di parametro
Ingresso Ingresso Ingresso Ingresso

Tipo di dati
STRING STRING DINT DINT

Uscita

STRING

ENO

Uscita

BOOL

Capitolo 24 Descrizione

Istruzioni di elaborazione della stringa

Qualsiasi stringa.
Stringa da inserire (per sostituire i caratteri NbC). Numero di caratteri da eliminare.
Posizione del primo carattere modificato (la prima posizione valida è 1).

Stringa modificata. I caratteri NbC sono eliminati alla posizione Pos, quando in questa posizione viene inserita la sottostringa Str. Può essere: · stringa vuota se Pos <= 0 · una concatenazione di stringhe (IN+Str) se Pos è maggiore della lunghezza della
stringa IN · stringa iniziale IN se NbC <= 0

Abilita uscita. Applicabile alle programmazioni in Ladder Diagram.

Esempio di programmazione a blocchi funzionali REPLACE

Esempio di diagramma ladder REPLACE

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

675

Capitolo 24

Istruzioni di elaborazione della stringa
Esempio di testo strutturato REPLACE

Sostituzione di una parte di una stringa con un nuovo set di caratteri. (* Equivalenza ST: *) MyName := REPLACE ("Mr X JONES, "Frank", 1, 4); (* MyName è 'Mr Frank JONES' *)
Risultati

Vedere anche
Istruzioni di elaborazione della stringa a pagina 657

676

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzioni del timer

Capitolo 25

Istruzione TOF a pagina 678 TON a pagina 680 TONOFF a pagina 682
TP a pagina 685 RTO a pagina 687
DOY a pagina 689

Utilizzare istruzioni del Timer per controllare le operazioni in base al tempo.
Descrizione
Tempistica ritardo alla diseccitazione Incrementare un timer interno fino a un valore dato.
Tempistica ritardo all'eccitazione Incrementare un timer interno fino a un valore dato. Ritardo di accensione di un'uscita in caso di ramo True, quindi ritardo di spegnimento di un'uscita in caso di ramo False. Tempistica impulsi. Sul fronte di salita, incrementa un timer interno fino a un valore dato.
Tempo di ritrasmissione. Incrementa un timer interno quando l'ingresso è attivo, ma non ripristina il timer interno quando l'ingresso diventa inattivo. Attiva un output se il valore del real-time clock è compreso nell'intervallo dell'impostazione Ora dell'anno.

TDF a pagina 691 TOW a pagina 693

Calcola la differenza di tempo tra TimeA e TimeB. Attiva un'uscita se il valore del real-time clock è compreso nell'intervallo dell'impostazione Ora della settimana.

Vedere anche
Istruzione impostate in ordine alfabetico a pagina 18

Configurazione delle istruzioni del timer

La precisione temporale si riferisce al tempo trascorso tra l'abilitazione di un'istruzione del timer da parte del processore e il termine dell'intervallo temporizzato.
Il processore utilizza le seguenti informazioni provenienti dall'istruzione del timer:
· Timer - L'indirizzo di controllo del timer nell'area dell'archivio dati dedicata al timer.
· Base di tempo - Determina la modalità di funzionamento del timer.
· Valore preimpostato - Specifica il valore che il timer deve raggiungere prima che il processore imposti il bit Done.
· Valore accumulato - Il numero di incrementi temporali contati dall'istruzione. Quando abilitato, il timer aggiorna continuamente questo valore.

Vedere anche
Istruzioni del timer a pagina 677

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

677

Capitolo 25 Istruzioni del timer

TOF (timer, ritardo alla diseccitazione)

Incrementa un timer interno fino a un valore dato.
Dettagli operazione:
· Se si usa il parametro EN con questo blocco istruzione, il timer inizia a incrementare quando EN è impostato su TRUE e continua a incrementare anche se EN è impostato su FALSE.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri IN
PT Q ET

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Ingresso

TIME

Uscita

BOOL

Uscita

TIME

Controllo ingresso. TRUE: fronte di discesa rilevato, il timer interno inizia ad incrementare. FALSE: fronte di salita rilevato, il timer interno si arresta e viene ripristinato. Tempo massimo programmato. Vedere Tipo di dati Durata. TRUE: il tempo totale non è trascorso. FALSE: il tempo totale è trascorso. Tempo trascorso. I valori possibili variano da 0ms a 1193h2m47s294ms.

Diagramma di temporizzazione TOF

678

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Capitolo 25 Istruzioni del timer
Esempio di Programmazione a blocchi funzionali TOF
Esempio di Diagramma ladder TOF Esempio di Testo strutturato TOF
Risultati

Vedere anche

Configurazione delle istruzioni del timer a pagina 677

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

679

Capitolo 25 Istruzioni del timer

Istruzioni del timer a pagina 677

TON (timer, ritardo all'eccitazione)

Incrementa un timer interno fino a un valore dato.
Dettagli operazione:
· Non usare un salto per superare un blocco istruzione TON in un Diagramma ladder (LD). Se si utilizza un jump, il timer TON continuerà dopo il tempo trascorso.
· Ad esempio: Ramo 1 contiene un salto; ramo 2 contiene un blocco istruzione TON con un tempo trascorso di 10 secondi; abilita il salto da ramo 1 a ramo 3; disabilita il salto dopo 30 secondi; il tempo trascorso sarà di 30 secondi, non 10 secondi come definito dal tempo trascorso.
· Se si usa il parametro EN con TON, il timer inizia a incrementare quando EN è impostato su TRUE e continua a incrementare anche se EN è impostato su FALSE.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri IN
PT Q ET

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Controllo ingresso.

TRUE: se fronte di salita, il timer interno inizia a incrementare.

FALSE: se fronte di discesa, il timer interno si arresta e viene ripristinato.

Ingresso

TIME

Tempo massimo programmato definito utilizzando il tipo di dati Durata.

Uscita Uscita

BOOL

TRUE: il tempo programmato è trascorso.

FALSE: il tempo programmato non è trascorso.

TIME

Tempo trascorso. I valori possibili variano da 0ms a 1193h2m47s294ms.

680

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Diagramma di temporizzazione TON

Capitolo 25 Istruzioni del timer

Esempio di Programmazione a blocchi funzionali TON Esempio di Diagramma ladder TON Esempio di Testo strutturato TON

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

681

Capitolo 25 Istruzioni del timer

Risultati

Vedere anche
Configurazione delle istruzioni del timer a pagina 677 Istruzioni del timer a pagina 677

TONOFF (ritardo, on, off)

Ritarda l'attivazione di un'uscita su un ramo True, quindi ritarda la disattivazione dell'uscita su ramo False.
Dettagli operazione:
· Se si usa il parametro EN con TONOFF, il timer inizia a incrementare quando EN è impostato su TRUE e continua a incrementare anche se EN è impostato su FALSE.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

682

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Parametri IN

Tipo di parametro Ingresso

Tipo di dati BOOL

PT

Ingresso

TIME

PTOF

Ingresso

TIME

Q

Uscita

BOOL

ET

Uscita

TIME

Descrizione

Capitolo 25 Istruzioni del timer

Controllo ingresso. TRUE: fronte di salita rilevato (IN passa da 0 a 1): · avvia il timer Ritardo all'eccitazione (PT). · Se la durata ritardo off programmato (PTOF) non è trascorsa, riavviare il timer Ritardo
all'eccitazione (PT). FALSE: fronte di discesa rilevato (IN passa da 1 a 0): · Se non è trascorso il tempo di Ritardo all'eccitazione (PT) programmato, arrestare il timer
PT e ripristinare ET. · Se è trascorso il tempo di Ritardo all'eccitazione (PT) programmato, avvia il timer Ritardo
alla diseccitazione (PTOF).
L'impostazione del tempo di Ritardo all'eccitazione definito utilizzando il tipo di dati Time.

L'impostazione del tempo di Ritardo alla diseccitazione definito utilizzando il tipo di dati Time.
TRUE: il tempo del Ritardo all'eccitazione programmato è trascorso e il tempo del ritardo alla diseccitazione non è trascorso.
Tempo trascorso. I valori possibili variano da 0ms a 1193h2m47s294ms. Se il tempo del ritardo all'eccitazione programmato è trascorso e il timer del ritardo alla diseccitazione non è stato avviato, il tempo trascorso (ET) rimane al valore del ritardo all'eccitazione (PT). Se il tempo Off-delay programmato è trascorso e il timer Off-delay non parte, il tempo trascorso (ET) resta al valore di off-delay (PTOF) fino a che si verifica nuovamente il fronte di salita.

Esempio di Programmazione a blocchi funzionali TONOFF

Esempio di Diagramma ladder TONOFF

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

683

Capitolo 25 Istruzioni del timer

Esempio di Testo strutturato TONOFF

Risultati

Vedere anche
Configurazione delle istruzioni del timer a pagina 677 Istruzioni del timer a pagina 677

684

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

TP (tempo impulsi)

Capitolo 25 Istruzioni del timer
Sul fronte di salita, incrementa un timer interno fino a un valore dato. Se il timer è trascorso, il tempo interno viene ripristinato. Dettagli operazione:
· Se si usa il parametro EN con TP, il timer inizia a incrementare quando EN è impostato su TRUE e continua a incrementare anche se EN è impostato su FALSE.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato. Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri IN
PT Q ET

Tipo di parametro Ingresso
Ingresso Uscita
Uscita

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di dati

Descrizione

BOOL

TRUE: se fronte di salita, il timer interno inizia a incrementare (se non sta già aumentando).

FALSE: se il tempo del timer è trascorso, il timer interno viene ripristinato.

Qualsiasi modifica a IN durante il conteggio non ha alcun effetto.

TIME

Tempo massimo programmato definito utilizzando il tipo di dati Time.

BOOL

TRUE: il timer sta contando.

FALSE: il timer non sta contando.

TIME

Tempo trascorso.

I valori possibili variano da 0ms a 1193h2m47s294ms.

Diagramma di temporizzazione TP

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

685

Capitolo 25 Istruzioni del timer

Esempio di Programmazione a blocchi funzionali TP

Esempio di Diagramma ladder TP
Esempio di Testo strutturato TP
Risultati

Vedere anche
Configurazione delle istruzioni del timer a pagina 677

686

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Istruzioni del timer a pagina 677

Capitolo 25 Istruzioni del timer

RTO (timer di ritrasmissione,

Incrementa un timer interno quando l'ingresso è attivo, ma non ripristina il timer interno quando l'ingresso diventa inattivo.

Ritardo all'eccitazione)

Dettagli operazione:

· Controllori <Micro810> o <Micro820>, il timer RTO interno non persiste per tutta la durata del ciclo di alimentazione. Per tenere attivo il timer interno, impostare il parametro di configurazione Memorizzato su True.
· Controllore <Micro830> o <Micro850>, il timer RTO interno persisterà per tutto il ciclo di alimentazione.

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri IN
RST PT Q ET

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Controllo ingresso.

TRUE: fronte di salita, inizia ad aumentare il timer interno.

FALSE: fronte di discesa, si arresta e non viene eseguito il timer interno.

Ingresso

BOOL

TRUE: fronte di salita, viene eseguito il reset del timer interno.

FALSE: non viene eseguito il timer interno.

Ingresso

TIME

Tempo di Ritardo all'eccitazione massimo programmato. PT è definito con i dati ora

Durata.

Uscita

BOOL

TRUE: il tempo del ritardo all'eccitazione programmato è trascorso.

FALSE: il tempo del ritardo all'eccitazione del programma non è trascorso.

Uscita

TIME

Tempo trascorso.

I valori variano da 0 ms a 1193 h 2 m 47 s 294 ms.

ET è definito con il tipo di dati Time.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

687

Capitolo 25 Istruzioni del timer

Esempio di diagramma di temporizzazione RTO

Esempio di Programmazione a blocchi funzionali RTO Esempio di Diagramma ladder RTO Esempio di Testo strutturato RTO

688

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Vedere anche

Capitolo 25 Istruzioni del timer

Configurazione delle istruzioni del timer a pagina 677 Istruzioni del timer a pagina 677

DOY (anno di controllo per Real-Time clock)

Attiva un'uscita se il valore Real-Time Clock (RTC) è compreso nell'intervallo dell'impostazione Ora dell'anno.
Dettagli operazione:
· Se non è presente un RTC, l'uscita è sempre OFF. · Configurare i parametri di inserimento della durata con intervalli
validi, secondo quanto specificato nella tabella Tipo di dati DOYDATA. Un valore non valido porta in errore il controllore se TimeX.Enable è impostato su TRUE ed è presente, e abilitato, un RTC.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametro EN
TimeA TimeB TimeC TimeD DOY

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso
Ingresso Ingresso Ingresso Ingresso Uscita

BOOL
DOYDATA DOYDATA DOYDATA DOYDATA BOOL

Abilitazione istruzioni. TRUE: esegue l'operazione. FALSE: non esegue l'operazione. Impostazione di Year Time del Canale A: Per configurare TimeA, utilizzare il tipo di dati DOYDATA. Impostazione di Year Time del Canale B. Per configurare TimeB, utilizzare il tipo di dati DOYDATA. Impostazione di Year Time del Canale C. Per configurare TimeC, utilizzare il tipo di dati DOYDATA. Impostazione di Year Time del Canale D. Per configurare TimeD, utilizzare il tipo di dati DOYDATA. Se TRUE, il valore del Real Time Clock rientra nel range dell'impostazione Year Time di uno dei quattro canali.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

689

Capitolo 25 Istruzioni del timer
Parametri Enable YearlyCenturial YearOn MonthOn DayOn YearOff MonthOff DayOff

Tipo di dati DOYDATA

Nella tabella seguente è descritto il tipo di dati DOYDATA.

Tipo di dati

Descrizione

BOOL

TRUE:Enable; FALSE:Disable

BOOL

Tipo di timer (0:timer Yearly; 1:Centurial timer).

UINT

Valore Year On (deve essere nel set [2000...2098]).

USINT

Valore Month On (deve essere nel set [1...12]).

USINT

Valore Day On (deve essere nel set [1..31], determinato dal valore "MonthOn").

UINT

Valore Year Off (deve essere nel set [2000...2098]).

USINT

Valore Month Off (deve essere nel set [1...12]).

USINT

Valore Day Off (deve essere nel set [1..31], determinato dal valore "MonthOff").

Esempio di programmazione a blocchi funzionali DOY

Esempio di diagramma ladder DOY

690

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di testo strutturato DOY

Capitolo 25 Istruzioni del timer

(* Equivalenza ST: *) TESTOUTPUT := DOY(TIMEA1, TIMEB1, TIMEC1, TIMED1) ;
Vedere anche
Configurazione delle istruzioni del timer a pagina 677 Istruzioni del timer a pagina 677

TDF (differenza di tempo)

Calcola la differenza di tempo tra TimeA e TimeB.
Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.
Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Parametri EN
TimeA TimeB ENO TDF

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Tipo di parametro Tipo di dati

Descrizione

Ingresso

BOOL

Ingresso

TIME

Ingresso

TIME

Uscita

BOOL

Uscita

TIME

Abilitazione istruzioni. TRUE: esegue il calcolo corrente. FALSE: il calcolo non avviene. Applicabile alle programmazioni in Ladder Diagram. Il tempo di avvio per il calcolo della differenza di tempo. Il tempo di fine per il calcolo della differenza di tempo. Abilita uscita. Applicabile alle programmazioni in Ladder Diagram. La differenza di tempo tra le due ore in ingresso. TDF è il nome o ID PIN

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

691

Capitolo 25 Istruzioni del timer

Esempio di programmazione a blocchi funzionali TDF

Esempio di diagramma ladder TDF

Esempio di testo strutturato TDF
(* Equivalenza ST: *) TESTTIMEDIFF := TDF(TESTTIME1, TESTTIME2) ;

692

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Risultati

Capitolo 25 Istruzioni del timer

Vedere anche
Configurazione delle istruzioni del timer a pagina 677 Istruzioni del timer a pagina 677

TOW (settimana di controllo

Attiva un'uscita se il valore del Real-Time Clock (RTC) è compreso nell'intervallo dell'impostazione Ora della settimana.

per Real Time Clock)

Dettagli operazione:

· Se non è presente un RTC, l'uscita è sempre OFF. · Configurare i parametri di ingresso Time con intervalli validi,
secondo quanto specificato nel Tipo di dati TOWDATA. Un valore non valido porta in errore il controllore se TimeX.Enable è impostato su TRUE ed è presente, e abilitato, un RTC.

Lingue supportate: Programmazione a blocchi funzionali, Diagramma ladder, Testo strutturato.

Questa istruzione vale per i controllori Micro810, Micro820, Micro830, Micro850, Micro870 e Micro800 Simulator.

Utilizzare questa tabella per determinare i valori del parametro per questa istruzione.

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

693

Capitolo 25 Istruzioni del timer

Parametro

Tipo di parametro

EN

Ingresso

Tipo di dati BOOL

TimeA TimeB TimeC TimeD TOW

Ingresso Ingresso Ingresso Ingresso Uscita

TOWDATA TOWDATA TOWDATA TOWDATA BOOL

Descrizione
Abilitazione istruzioni. Se EN = TRUE esegue la funzione. Se EN = FALSE non esegue la funzione. Impostazione dell'ora del giorno per il canale A. Utilizzare il tipo di dati TOWDATA per definire TimeA. Impostazione dell'ora del giorno per il canale B. Utilizzare il tipo di dati TOWDATA per definire TimeB.
Impostazione dell'ora del giorno per il canale C. Utilizzare il tipo di dati TOWDATA per definire TimeC. Impostazione dell'ora del giorno per il canale D. Utilizzare il tipo di dati TOWDATA per definire TimeD. Se TRUE, il valore del Real Time Clock è compreso nell'intervallo dell'Ora del giorno impostata per uno qualsiasi dei quattro canali.

Tipo di dati TOWDATA

La seguente tabella descrive i tipi di dati TOWDATA:

Parametri

Tipo di dati

Descrizione

Enable

BOOL

DailyWeekly

BOOL

DayOn

USINT

HourOn

USINT

MinOn

USINT

DayOff

USINT

HourOff

USINT

MinOff

USINT

TRUE: Abilita; FALSE: Disabilita.
Tipo di timer (0:timer giornaliero; 1:timer settimanale). Valore Giorno della settimana il (deve essere in set [0 .. .6]). Valore Ora alle (deve essere in set [0 .. .23]). Valore Minuto alle (deve essere in set [0 .. .59]). Valore Giorno della settimana OFF (deve essere in set [0 .. .6]). Valore Ora OFF (deve essere in set [0 .. .23]). Valore Minuto OFF (deve essere in set [0 .. .59]).

Esempio di programmazione a blocchi funzionali TOW

694

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Esempio di diagramma ladder TOW

Capitolo 25 Istruzioni del timer

Esempio di testo strutturato TOW
(* Equivalenza ST: *) TESTOUTPUT := TOW(TIMEA, TIMEB, TIMEC, TIMED) ;

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

695

Capitolo 25 Istruzioni del timer

Risultati

Vedere anche
Configurazione delle istruzioni del timer a pagina 677 Istruzioni del timer a pagina 677

696

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021

Assistenza Rockwell Automation

Utilizzare queste risorse per accedere alle informazioni di supporto.

Centro supporto tecnico
Knowledge base Numeri di telefono del supporto tecnico locale

Trova assistenza per video, domande frequenti, chat, forum degli utenti e aggiornamenti delle notifiche dei prodotti. Articoli della Knowledge Base di Access. Individua il numero di telefono per il tuo paese.

rok.auto/supporto
rok.auto/knowledgebase rok.auto/supporto telefonico

Literature Library
Area compatibilità e download prodotti (PCDC)

Trova istruzioni di installazione, manuali, brochure e pubblicazioni di dati tecnici.

rok.auto/letteratura

Ottieni assistenza per determinare il modo in cui i prodotti interagiscono, controllare le rok.auto/pcdc funzionalità e le funzionalità e trovare il firmware associato.

Feedback documentazione
I commenti ci consentono di migliorare le esigenze della documentazione. In caso di suggerimenti su come migliorare questo documento, completare il modulo all'indirizzo rok.auto/docfeedback.
Rifiuti di apparecchiature elettriche ed elettroniche (WEEE)
Al termine del ciclo di vita, queste attrezzature dovrebbero essere raccolte separatamente da eventuali rifiuti urbani non utilizzati.
Rockwell Automation mantiene le attuali informazioni ambientali sul prodotto sul suo sito web all'indirizzo rok.auto/pec.

Allen-Bradley, expanding human possibility, Logix, Rockwell Automation e Rockwell Software sono marchi di Rockwell Automation, Inc. Ethernet/IP è un marchio di ODVA, Inc. I marchi che non appartengono a Rockwell Automation sono di proprietà delle rispettive aziende.. Rockwell Otomayson Ticaret A.. Kar Plaza  Merkezi E Blok Kat:6 34752, çerenkÖy, stanbul, Tel: +90 (216) 5698400 EEE YÖnetmeliine Uygundur

Pubblicazione Rockwell Automation 2080-RM001J-IT-E - Marzo 2021
Sostituisce la pubblicazione -2080-RM001I-IT-E - Gennaio 2019

Copyright © 2021 Rockwell Automation Technologies, Inc. Tutti i diritti riservati. Stampato negli U.S.A.


Rockwell Automation Adobe PDF Library 21.1.177