Istruzioni generali per i controllori programmabili Micro800
File info: application/pdf · 697 pages · 16.87MB
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. Importanti informazioni utente. Leggere questa documentazione e i documenti elencati ...
[PDF] Istruzioni generali per i controllori programmabili Micro800
Leggere questa documentazione e i documenti elencati nella sezione delle risorse aggiuntive riguardo l'installazione, la configurazione e l'operatività di ...
Extracted Text
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.