SIMATIC. S / ET 200MP / ET 200SP CM PtP - Configurazioni di accoppiamenti punto a punto. Prefazione. Guida alla documentazione.

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SIMATIC. S / ET 200MP / ET 200SP CM PtP - Configurazioni di accoppiamenti punto a punto. Prefazione. Guida alla documentazione."

Transcript

1

2 Prefazione Guida alla documentazione 1 SIMATIC S / ET 200MP / ET 200SP CM PtP - Configurazioni di accoppiamenti punto a punto Manuale di guida alle funzioni Introduzione 2 Principi di base della comunicazione seriale 3 Configurazione/parametrizza zione 4 Programmazione - comunicazione tramite 5 istruzioni Avviamento e diagnostica 6 A Service & Support 12/2017 A5E AB

3 Avvertenze di legge Concetto di segnaletica di avvertimento Questo manuale contiene delle norme di sicurezza che devono essere rispettate per salvaguardare l'incolumità personale e per evitare danni materiali. Le indicazioni da rispettare per garantire la sicurezza personale sono evidenziate da un simbolo a forma di triangolo mentre quelle per evitare danni materiali non sono precedute dal triangolo. Gli avvisi di pericolo sono rappresentati come segue e segnalano in ordine descrescente i diversi livelli di rischio. PERICOLO questo simbolo indica che la mancata osservanza delle opportune misure di sicurezza provoca la morte o gravi lesioni fisiche. AVVERTENZA il simbolo indica che la mancata osservanza delle relative misure di sicurezza può causare la morte o gravi lesioni fisiche. CAUTELA indica che la mancata osservanza delle relative misure di sicurezza può causare lesioni fisiche non gravi. ATTENZIONE indica che la mancata osservanza delle relative misure di sicurezza può causare danni materiali. Nel caso in cui ci siano più livelli di rischio l'avviso di pericolo segnala sempre quello più elevato. Se in un avviso di pericolo si richiama l'attenzione con il triangolo sul rischio di lesioni alle persone, può anche essere contemporaneamente segnalato il rischio di possibili danni materiali. Personale qualificato Il prodotto/sistema oggetto di questa documentazione può essere adoperato solo da personale qualificato per il rispettivo compito assegnato nel rispetto della documentazione relativa al compito, specialmente delle avvertenze di sicurezza e delle precauzioni in essa contenute. Il personale qualificato, in virtù della sua formazione ed esperienza, è in grado di riconoscere i rischi legati all'impiego di questi prodotti/sistemi e di evitare possibili pericoli. Uso conforme alle prescrizioni di prodotti Siemens Si prega di tener presente quanto segue: AVVERTENZA I prodotti Siemens devono essere utilizzati solo per i casi d impiego previsti nel catalogo e nella rispettiva documentazione tecnica. Qualora vengano impiegati prodotti o componenti di terzi, questi devono essere consigliati oppure approvati da Siemens. Il funzionamento corretto e sicuro dei prodotti presuppone un trasporto, un magazzinaggio, un installazione, un montaggio, una messa in servizio, un utilizzo e una manutenzione appropriati e a regola d arte. Devono essere rispettate le condizioni ambientali consentite. Devono essere osservate le avvertenze contenute nella rispettiva documentazione. Marchio di prodotto Tutti i nomi di prodotto contrassegnati con sono marchi registrati della Siemens AG. Gli altri nomi di prodotto citati in questo manuale possono essere dei marchi il cui utilizzo da parte di terzi per i propri scopi può violare i diritti dei proprietari. Esclusione di responsabilità Abbiamo controllato che il contenuto di questa documentazione corrisponda all'hardware e al software descritti. Non potendo comunque escludere eventuali differenze, non possiamo garantire una concordanza perfetta. Il contenuto di questa documentazione viene tuttavia verificato periodicamente e le eventuali correzioni o modifiche vengono inserite nelle successive edizioni. Siemens AG Division Digital Factory Postfach NÜRNBERG GERMANIA A5E AB P 01/2018 Con riserva di modifiche Copyright Siemens AG Tutti i diritti riservati

4 Prefazione Scopo della documentazione La presente documentazione contiene informazioni importanti per la progettazione e la messa in servizio dei moduli di comunicazione punto a punto per i sistemi S (ET 200MP) e ET 200SP. Nozioni di base necessarie La comprensione della documentazione presuppone le seguenti conoscenze: Conoscenze generali nel campo della tecnica di automazione Conoscenze del sistema di automazione industriale SIMATIC Conoscenze sull'utilizzo di computer con sistema operativo Windows Conoscenze nell'utilizzo di STEP 7 Campo di validità della documentazione La presente documentazione è valida per tutti i moduli di comunicazione punto a punto dell's (ET 200MP) e dell'et 200SP impiegati in STEP 7 (TIA Portal) dalla versione V12. Convenzioni La denominazione "CPU" utilizzata nel seguito del manuale indica sia le unità centrali dell's sia i moduli di interfaccia della periferia decentrata, ad es. IM Osservare anche le avvertenze contrassegnate nel modo seguente: Nota Un'avvertenza contiene importanti informazioni sul prodotto descritto nella documentazione, sulla sua manipolazione o su una parte di documentazione alla quale occorre prestare particolare attenzione. Smaltimento e riciclaggio Grazie al basso contenuto di sostanze nocive i prodotti sono riciclabili. Per il riciclaggio e lo smaltimento delle apparecchiature usate nel rispetto dell'ambiente rivolgersi a un'azienda certificata per lo smaltimento di materiale elettronico. Manuale di guida alle funzioni, 12/2017, A5E AB 3

5 Prefazione Ulteriore supporto Per informazioni sui servizi del Technical Support consultare l'appendice Service & Support (Pagina 220). La documentazione tecnica dei singoli prodotti e sistemi SIMATIC è disponibile in Internet ( Il catalogo e il sistema per le ordinazioni online sono disponibili in Internet ( 4 Manuale di guida alle funzioni, 12/2017, A5E AB

6 Indice del contenuto Prefazione Guida alla documentazione Introduzione Panoramica dei moduli di comunicazione Panoramica delle fasi di elaborazione Panoramica delle istruzioni Principi di base della comunicazione seriale Trasmissione di dati seriale Sicurezza di trasmissione Funzionamento RS Funzionamento RS Funzionamento RS Handshake Configurazione/parametrizzazione Configurazione/parametrizzazione di un modulo di comunicazione Comunicazione tramite Freeport Procedimento per la configurazione di un collegamento seriale con Freeport Trasmissione dati con Freeport Invio di dati con Freeport Ricezione di dati con Freeport Trasparenza di codice Buffer di ricezione Comunicazione tramite 3964(R) Procedimento per la configurazione di un collegamento seriale con 3964(R) Trasmissione dati con la procedura 3964(R) Carattere di controllo Carattere di controllo blocco Invio di dati con 3964(R) Ricezione di dati con 3964(R) Comunicazione tramite Modbus RTU Procedimento per la configurazione di un collegamento seriale con Modbus RTU Panoramica sulla comunicazione Modbus Codici funzione Comunicazione tramite USS Procedimento per la configurazione di un collegamento seriale con Modbus USS Panoramica della comunicazione USS Panoramica funzioni Manuale di guida alle funzioni, 12/2017, A5E AB 5

7 Indice del contenuto 5 Programmazione - comunicazione tramite istruzioni Panoramica della programmazione PtP Panoramica della programmazione Modbus Panoramica della programmazione USS Punto a punto Panoramica della comunicazione Freeport Utilizzo delle istruzioni Parametri comuni per operazioni Freeport Port_Config: Progetta porta di comunicazione PtP Send_Config: Progetta mittente PtP Receive_Config: Progetta destinatario PtP P3964_Config: Progettazione del protocollo 3964(R) Send_P2P: Invia dati Utilizzo dei parametri BUFFER e LENGTH nelle operazioni di comunicazione Receive_P2P: Ricevi dati Receive_Reset: Cancella buffer di ricezione Signal_Get: Leggi stato Signal_Set: Imposta segnali addizionali Get_Features: Preleva funzioni avanzate Set_Features: Imposta funzioni avanzate Messaggi di errore MODBUS (RTU) Panoramica della comunicazione Modbus RTU Modbus_Comm_Load: Configura modulo di comunicazione per Modbus Modbus_Master: Comunica come master Modbus Modbus_Slave Struttura del telegramma Messaggi di errore USS Panoramica della comunicazione USS Presupposti per l'utilizzo del protocollo USS USS_Port_Scan / USS_Port_Scan_31: Elabora comunicazione tramite rete USS USS_Drive_Control / USS_Drive_Control_31: preparazione e visualizzazione dei dati per l'azionamento USS_Read_Param / USS_Read_Param_31: Leggi dati dall'azionamento USS_Write_Param / USS_Write_Param_31: Modifica dati nell'azionamento Informazioni generali sulla configurazione di un azionamento Messaggi di errore Avviamento e diagnostica Comportamento all'avviamento Funzioni di diagnostica Allarmi di diagnostica Manuale di guida alle funzioni, 12/2017, A5E AB

8 Indice del contenuto A Service & Support A.1 Servizi di assistenza e supporto tecnico Glossario Indice analitico Manuale di guida alle funzioni, 12/2017, A5E AB 7

9 Guida alla documentazione 1 La documentazione del sistema di automazione SIMATIC S7-1500, della CPU 1516pro-2 PN basata su SIMATIC S e dei sistemi di periferia decentrata SIMATIC ET 200MP, ET 200SP e ET 200AL è suddivisa in tre parti. Questa suddivisione consente di accedere in maniera mirata ai contenuti di interesse. Informazioni di base I manuali di sistema e il Getting Started descrivono dettagliatamente la progettazione, il montaggio, il cablaggio e la messa in servizio dei sistemi SIMATIC S7-1500, ET 200MP, ET 200SP e ET 200AL; per la CPU 1516pro-2 PN occorre utilizzare le istruzioni operative corrispondenti. La Guida in linea di STEP 7 supporta l'utente nelle fasi di progettazione e programmazione. Informazioni sul dispositivo I manuali di prodotto contengono una descrizione compatta delle informazioni specifiche del modulo, come proprietà, schemi di collegamento, curve caratteristiche e dati tecnici. 8 Manuale di guida alle funzioni, 12/2017, A5E AB

10 Guida alla documentazione Informazioni generali I manuali di guida alle funzioni contengono descrizioni dettagliate su argomenti generali riguardanti per es. la diagnostica, la comunicazione, Motion Control, il server web e OPC UA. La documentazione può essere scaricata gratuitamente in Internet ( Eventuali modifiche e integrazioni dei manuali vengono descritte nelle informazioni sul prodotto. Le informazioni sul prodotto sono disponibili in Internet: S7-1500/ET 200MP ( ET 200SP ( ET 200AL ( Manual Collection Le Manual Collection raggruppano in un unico file l'intera documentazione relativa ai diversi sistemi. Le Manual Collection sono disponibili in Internet. S7-1500/ET 200MP ( ET 200SP ( ET 200AL ( "mysupport" "mysupport", l area di lavoro personale dell utente, consente di sfruttare al meglio il servizio Industry Online Support. La si può usare per creare filtri, preferiti e tag, richiedere dati CAx e assemblare la propria personale biblioteca di manuali e documentazione. Inoltre nelle richieste di assistenza sono già preimpostati i dati personali dell utente, il quale ha modo di controllare in qualsiasi momento lo stato di elaborazione delle richieste che ha presentato. Per poter usufruire della funzionalità completa di "mysupport" ci si deve registrare una volta. "mysupport" è disponibile in Internet ( "mysupport" - Documentazione Nell area Documentazione di "mysupport" si possono assemblare interi manuali o alcune loro parti per realizzare un manuale personalizzato. Il manuale così ottenuto può essere esportato come file PDF o in un formato modificabile. "mysupport" - Documentazione è disponibile in Internet ( Manuale di guida alle funzioni, 12/2017, A5E AB 9

11 Guida alla documentazione "mysupport" - Dati CAx Nell area Dati CAx di "mysupport si può accedere ai dati di prodotto attuali per il proprio sistema CAx o CAe. Con pochi clic è possibile configurare il proprio cestino di download. Si possono selezionare: immagini del prodotto, disegni quotati in 2D, modelli in 3D, schemi elettrici dell'apparecchio, file macro EPLAN manuali, curve caratteristiche, istruzioni operative, certificati dati di base del prodotto "mysupport" - Dati CAx è disponibile in Internet ( Esempi applicativi Gli esempi applicativi forniscono diversi strumenti ed esempi utili nella soluzione dei problemi di automazione. In questa sezione vengono illustrate soluzioni che prevedono l'interazione di più componenti del sistema, senza soffermarsi sui singoli prodotti. Gli esempi applicativi sono disponibili in Internet ( TIA Selection Tool Il TIA Selection Tool consente di selezionare, configurare e ordinare dispositivi per la Totally Integrated Automation (TIA). Costituisce la versione successiva del SIMATIC Selection Tool e riunisce in un solo strumento i configuratori già noti per la tecnica di automazione. Con il TIA Selection Tool è possibile creare una lista di ordinazione completa tra i prodotti selezionati o configurati. Il TIA Selection Tool è disponibile in Internet ( 10 Manuale di guida alle funzioni, 12/2017, A5E AB

12 Guida alla documentazione SIMATIC Automation Tool Il SIMATIC Automation Tool consente di eseguire, indipendentemente dal TIA Portal, operazioni di messa in servizio e di service simultaneamente su diverse stazioni SIMATIC S7. Il SIMATIC Automation Tool offre diverse funzioni: Scansione di una rete di impianto PROFINET/Ethernet e identificazione di tutte le CPU collegate Assegnazione indirizzi (IP, sottorete, gateway) e nome della stazione (PROFINET Device) ad una CPU Inoltro all unità della data e dell'ora PG/PC convertita secondo UTC Download del programma sulla CPU Commutazione dei modi di funzionamento RUN/STOP Localizzazione della CPU tramite segnalazione ad intermittenza dei LED Lettura dell informazione di errore della CPU Lettura del buffer di diagnostica della CPU Reset alle impostazioni di fabbrica Aggiornamento del firmware della CPU e dei moduli collegati Il SIMATIC Automation Tool è disponibile in Internet ( PRONETA SIEMENS PRONETA (analisi di rete PROFINET) consente di analizzare la rete dell impianto nell ambito della messa in servizio. PRONETA comprende due funzioni principali: La panoramica della topologia scansiona automaticamente PROFINET e visualizza tutti i componenti collegati. L IO Check è un rapido test del cablaggio e della configurazione modulare di un impianto. SIEMENS PRONETA è disponibile in Internet ( Manuale di guida alle funzioni, 12/2017, A5E AB 11

13 Guida alla documentazione SINETPLAN SINETPLAN, il Network Planner di Siemens, supporta l'utente nella pianificazione degli impianti e delle reti di automazione basate su PROFINET. Questo tool facilita il dimensionamento professionale e predittivo dell'installazione PROFINET già nella fase di pianificazione. Inoltre SINETPLAN fornisce all'utente strumenti utili per ottimizzare la rete, sfruttare al meglio le risorse di rete e pianificare le riserve. In questo modo, già prima dell'impiego pianificato si evitano problemi durante la messa in servizio e interruzioni nella fase produttiva. Questo aumenta la disponibilità dell'impianto produttivo e contribuisce a migliorare la sicurezza operativa. I vantaggi in sintesi ottimizzazione della rete grazie al calcolo del carico di rete per le singole porte maggiore disponibilità della produzione grazie alla scansione online e alla verifica degli impianti esistenti trasparenza prima della messa in servizio mediante importazione e simulazione di progetti STEP 7 esistenti efficienza grazie alla protezione degli investimenti nel lungo periodo e allo sfruttamento ottimale delle risorse SINETPLAN è disponibile in Internet ( 12 Manuale di guida alle funzioni, 12/2017, A5E AB

14 Introduzione Panoramica dei moduli di comunicazione I PLC comprendono diversi componenti tra cui i moduli di comunicazione. Un modo semplice per realizzare lo scambio dei dati è costituito dalla comunicazione seriale attraverso i collegamenti punto a punto. Impostando i parametri di comunicazione sul livello più basso del modello a strati ISO (vedere il capitolo Sicurezza di trasmissione (Pagina 20)) è possibile adeguarsi ai partner di comunicazione più diversi. La comunicazione tramite accoppiamento punto a punto nell's7-1500, ET 200MP e ET 200SP avviene esclusivamente attraverso moduli di comunicazione (CM) dotati di interfacce seriali. SIMATIC S7 fornisce una serie di moduli che mettono a disposizione l'interfaccia fisica e i meccanismi di protocollo fondamentali per tale scopo. RS232: interfaccia che coordina la comunicazione tra i partner attraverso segnali addizionali. RS422/RS485: interfaccia che, utilizzando delle tensioni differenziali consente di impiegare come metodo di trasmissione linee più lunghe e che, grazie alle caratteristiche fisiche del bus (RS485), consente anche strutture con più di due nodi. Per trasmettere i dati dalla CPU ai diversi moduli si impiegano delle istruzioni che si occupano di coordinare la CPU e il CM (Communication module), segnalando al programma utente se la trasmissione è corretta o se vengono ricevuti nuovi dati (nei sistemi senza CPU SIMATIC queste istruzioni devono essere programmate dall'utente). Il presente manuale di guida alle funzioni descrive la funzione e l'utilizzo dei moduli di comunicazione PtP. Panoramica dei componenti e dei numeri di ordinazione Panoramica in forma di tabella dei moduli di comunicazione e del loro utilizzo Modulo di comunicazione S ET 200MP ET 200SP Numero articolo CM PtP RS232 BA 1) X X - 6ES7540-1AD00-0AA0 CM PtP RS422/485 BA X X - 6ES7540-1AB00-0AA0 CM PtP RS232 HF 2) X X - 6ES7541-1AD00-0AB0 CM PtP RS422/485 HF X X - 6ES7541-1AB00-0AB0 CM PtP (ET 200SP) - - X 6ES7137-6AA00-0BA0 1) BA = Basic 2) HF = High Feature Manuale di guida alle funzioni, 12/2017, A5E AB 13

15 Introduzione 2.1 Panoramica dei moduli di comunicazione Panoramica dei componenti e delle interfacce Panoramica in forma di tabella dei moduli di comunicazione e delle relative funzioni. Freeport 3964(R) Modbus Master Modbus Slave Modulo di comunicazione Interfaccia Protocolli Tecnica di connessione USS- Master Sub D a 9 poli CM PtP RS232 BA RS232 X X - - X X - CM PtP RS422/485 BA RS422 X X - - X - X Sub D a 15 poli RS485 X X - X CM PtP RS232 HF RS232 X X X X X X - CM PtP RS422/485 HF RS422 X X X X X - X RS485 X - X X X - X CM PtP (ET 200SP) RS232 X X X X X ET 200SP RS422 2) X X X X X BaseU-nit 1) RS485 X - X X X 1) BaseUnit con morsettiera al posto del sub D; l'assegnazione dipende dalle caratteristiche della trasmissione 2) Nel funzionamento RS422 il modulo di comunicazione CM PtP può essere impiegato per l'accoppiamento a più punti: Panoramica dei componenti e delle velocità di trasmissione I moduli di comunicazioni sono in grado di trasmettere e ricevere i dati con diverse velocità di trasmissione. La seguente tabella specifica le velocità di trasmissione assegnate ai diversi moduli di comunicazione. Modulo di comunicazione Velocità di trasmissione in bit/s CM PtP RS232 BA X X X X X X X CM PtP RS422/485 BA X X X X X X X CM PtP RS232 HF X X X X X X X X X X X CM PtP RS422/485 HF X X X X X X X X X X X CM PtP (ET 200SP) X X X X X X X X X X X 14 Manuale di guida alle funzioni, 12/2017, A5E AB

16 Introduzione 2.1 Panoramica dei moduli di comunicazione Panoramica dei componenti e delle dimensioni del buffer di ricezione Ciascun modulo di comunicazione dispone di un buffer per la memorizzazione temporanea dei telegrammi ricevuti. La seguente tabella riporta le dimensioni massime del telegramma e le dimensioni della memoria assegnate ai singoli moduli di comunicazione. Unità Dimensione del buffer di ricezione kbyte Lunghezza max. del telegramma kbyte Telegrammi bufferizzabili CM PtP RS232 BA CM PtP RS422/485 BA CM PtP RS232 HF CM PtP RS422/485 HF CM PtP (ET 200SP) Segnali addizionali e controllo del flusso dei dati Controllo del flusso dati del software con XON/XOFF Il controllo del flusso dei dati con XON/XOFF nel protocollo Freeport è possibile attraverso le interfaccers232 e RS422. Controllo del flusso dati dell'hardware con RTS/CTS Il controllo del flusso dei dati con RTS/CTS nel protocollo Freeport è possibile attraverso l'interfaccia RS232. Gestione automatica dei segnali addizionali Con i protocolli Freeport, Modbus Master e Modbus Slave è possibile comandare i segnali addizionali RS232 attraverso l'interfaccia RS232. (Disponibile solo se non è attivo il controllo del flusso dei dati dell'hardware.) Protocolli dei moduli di comunicazione A seconda dei moduli di comunicazione impiegati è possibile creare un collegamento con diversi protocolli: Freeport: Trasmissione di stringhe di caratteri ASCII senza formato definito per il protocollo 3964(R): Comunicazione tra controllori programmabili (comunicazione master/master) Modbus RTU: Comunicazione tra controllori programmabili (comunicazione master/slave). Il modulo di comunicazione può essere sia master che slave. USS: Comunicazione tra un controllore programmabile e un azionamento (comunicazione master/master). La comunicazione è concepita appositamente per rispondere ai requisiti della tecnica di azionamento. Il modulo di comunicazione può essere solo un master. Manuale di guida alle funzioni, 12/2017, A5E AB 15

17 Introduzione 2.2 Panoramica delle fasi di elaborazione 2.2 Panoramica delle fasi di elaborazione Accoppiamento punto a punto Per lo scambio di dati tra due o più partner di comunicazione esistono diverse possibilità di collegare i nodi in rete. L'accoppiamento punto a punto tra due partner di comunicazione rappresenta il caso più semplice. Il modulo di comunicazione (CM) costituisce l'interfaccia tra un controllore programmabile e un partner di comunicazione. Con l'accoppiamento punto a punto con il modulo di comunicazione la trasmissione dei dati è seriale. Configurazione/parametrizzazione La configurazione del modulo di comunicazione comprende la disposizione del modulo nella configurazione del dispositivo di STEP 7 (TIA Portal) e le impostazioni dei parametri specifici dei protocolli nella finestra delle proprietà del modulo (configurazione statica). Programmazione La programmazione comprende l'integrazione del modulo di comunicazione con la rispettiva CPU attraverso il programma utente La programmazione del modulo di comunicazione viene effettuata con STEP 7 (TIA Portal). La comunicazione tra la CPU, il modulo di comunicazione e un partner della comunicazione avviene tramite apposite istruzioni (Pagina 72). Per i sistemi di automazione S e S sono disponibili una serie di istruzioni che consentono di avviare e comandare la comunicazione nel programma utente e di influire sulla configurazione durante l'esecuzione (configurazione dinamica). Per maggiori informazioni, consultare Panoramica delle istruzioni (Pagina 17) e la Guida in linea di STEP 7 (TIA Portal). 16 Manuale di guida alle funzioni, 12/2017, A5E AB

18 Introduzione 2.3 Panoramica delle istruzioni 2.3 Panoramica delle istruzioni Nota Limiti di configurazione della CPU Le istruzioni punto a punto comunicano con i moduli di comunicazione attraverso la lettura o la scrittura di set di dati. Per l'uso delle istruzioni perciò è necessario attenersi ai limiti di configurazione della CPU in uso per la lettura e la scrittura dei set di dati. Se diverse istruzioni devono leggere o scrivere contemporaneamente dei set di dati su una CPU, il programma utente deve eventualmente richiamarle consecutivamente. Panoramica delle istruzioni Nel modulo di comunicazione vengono convertiti i protocolli di trasmissione. Attraverso il protocollo l'interfaccia del modulo di comunicazione viene adeguata a quella del partner. CPU, modulo di comunicazione e partner della comunicazione comunicano tra loro attraverso istruzioni speciali e i protocolli che supportano i vari moduli di comunicazione. Le istruzioni costituiscono l'interfaccia software tra la CPU e il modulo di comunicazione. Esse devono essere richiamare ciclicamente dal programma utente. La trasmissione dei dati impiega diversi cicli. Le istruzioni fanno parte di STEP 7 (TIA Portal). Le istruzioni sono contenute nella task card "Istruzioni" alla voce Comunicazione > Processore di comunicazione. e valgono per tutti i moduli di comunicazione citati, purché questi supportino la funzione richiesta. Tabella 2-1 Istruzioni per PtP Istruzione Significato Send_P2P (Pagina 91) L'istruzione Send_P2P consente l'invio di dati a un partner di comunicazione. Receive_P2P (Pagina 95) Receive_Reset (Pagina 97) Port_Config (Pagina 77) Send_Config (Pagina 81) Receive_Config (Pagina 83) P3964_Config (Pagina 89) Signal_Get (Pagina 98) Signal_Set (Pagina 100) L'istruzione Receive_P2Pconsente di ricevere dati da un partner di comunicazione. L'istruzione Receive_Reset consente di cancellare il buffer di ricezione del modulo di comunicazione. L'istruzione Port_Config consente di definire parametri di interfaccia dinamici fondamentali. L'istruzione Send_Config (parametrizzazione della trasmissione) consente di definire parametri di trasmissione seriali dinamici di una porta. L'istruzione Receive_Config (parametrizzazione della ricezione) consente di definire parametri di ricezione seriali dinamici di una porta. L'istruzione P3964_Config (progettazione del protocollo) consente di progettare i parametri dinamici della procedura 3964(R). L'istruzione Signal_Get consente di leggere i segnali addizionali RS232. L'istruzione Signal_Set consente di impostare i segnali addizionali RS232. Manuale di guida alle funzioni, 12/2017, A5E AB 17

19 Introduzione 2.3 Panoramica delle istruzioni Istruzione Get_Features (Pagina 102) Set_Features (Pagina 104) Significato L'istruzione Get_Features consente di leggere le funzioni avanzate supportate dal modulo di comunicazione. L'istruzione Set_Features consente di attivare le funzioni avanzate supportate dal modulo di comunicazione. Tabella 2-2 Istruzioni per Modbus Istruzione Modbus_Master (Pagina 131) Modbus_Slave (Pagina 139) Modbus_Comm_Load (Pagina 126) Significato L'istruzione Modbus_Master consente di comunicare attraverso la porta PtP in qualità di master Modbus. L'istruzione Modbus_Slave consente di comunicare attraverso la porta PtP in qualità di slave Modbus. L'istruzione Modbus_Comm_Loadconsente di configurare la porta del modulo di comunicazione per Modbus RTU. Tabella 2-3 Istruzioni per USS Istruzione USS_Port_Scan (Pagina 181) USS_Drive_Control (Pagina 185) USS_Read_Param (Pagina 190) USS_Write_Param (Pagina 193) Significato L'istruzione USS_Port_Scan consente la comunicazione attraverso la rete USS. L'istruzione USS_Drive_Control consente di scambiare dati con l'azionamento. L'istruzione USS_Read_Param consente di leggere parametri dall'azionamento. L'istruzione USS_Write_Param consente di modificare parametri nell'azionamento. 18 Manuale di guida alle funzioni, 12/2017, A5E AB

20 Principi di base della comunicazione seriale Trasmissione di dati seriale Con la trasmissione seriale i singoli bit di un carattere dell'informazione da trasmettere vengono trasmessi l'uno dopo l'altro in un ordine fisso. Modi di funzionamento della comunicazione bidirezionale Per la comunicazione bidirezionale il modulo di comunicazione supporta due diversi modi di funzionamento: Funzionamento semiduplex I dati vengono scambiati tra una o più controparti di comunicazione alternativamente in ambedue le direzioni. "Funzionamento semiduplex" significa che in un dato momento un partner della comunicazione trasmette e l'altro riceve. La stessa linea viene usata alternativamente per la trasmissione e la ricezione. Funzionamento duplex I dati vengono scambiati tra una o più controparti di comunicazione contemporaneamente, perciò si può sia trasmettere che ricevere nello stesso momento. In questo caso sono necessarie una linea per la trasmissione e una per la ricezione. Trasmissione di dati asincrona Nei moduli di comunicazione la trasmissione seriale dei dati è asincrona. Il cosiddetto sincronismo del reticolo temporale (un reticolo fisso per la trasmissione di una sequenza di caratteri fissa) viene mantenuto solo durante la trasmissione di un carattere. Ogni carattere da trasmettere è preceduto da un impulso di sincronizzazione, detto anche bit di start. La lunghezza della trasmissione del bit di start stabilisce il ciclo. La fine del trasferimento del carattere è segnata da uno o due bit di stop. Convenzioni Per la trasmissione seriale, oltre al bit di start e al bit di stop, sono necessari altri accordi tra i partner di comunicazione. Tra queste: Velocità di trasmissione Criteri di inizio e di fine di un telegramma (ad es. tempo di ritardo del carattere) Parità Numero dei bit di dati (7 o 8 bit/carattere) Numero dei bit di stop (1 o 2) Manuale di guida alle funzioni, 12/2017, A5E AB 19

21 Principi di base della comunicazione seriale 3.2 Sicurezza di trasmissione 3.2 Sicurezza di trasmissione La sicurezza di trasmissione gioca un ruolo importante nella trasmissione dati e nella scelta del modo di trasmissione. In generale vale la regola secondo la quale più livelli del modello di riferimento vengono attraversati, maggiore sarà la sicurezza di trasmissione. Posizionamento dei protocolli presenti Il posizionamento dei protocolli del modulo di comunicazione nel modello di riferimento è riportato nella figura seguente: Figura 3-1 Posizionamento dei protocolli del modulo di comunicazione nel modello di riferimento 20 Manuale di guida alle funzioni, 12/2017, A5E AB

22 Principi di base della comunicazione seriale 3.2 Sicurezza di trasmissione Sicurezza di trasmissione con Freeport Sicurezza di trasmissione con il protocollo Freeport: Poiché nel caso di una trasmissione di dati con il protocollo Freeport, oltre all'uso del bit di parità, non vengono usati altri metodi per salvare i dati, il Freeport risulta essere molto efficiente per quanto riguarda la velocità, ma non assicura i dati. Parametrizzando le condizioni iniziali e finali del telegramma è già possibile raggiungere una certa sicurezza dei dati. Con l'uso del bit di parità ci si assicura contro la commutazione di un bit nel carattere da trasmettere. Se due o più bit di uno stesso carattere passano da 0 a 1 o viceversa non è più possibile garantire che l'errore venga riconosciuto. Se la sicurezza dei dati deve essere aumentata, ciò può essere realizzato ad es. tramite l'uso di una somma di controllo, con l'indicazione della lunghezza di un telegramma o mediante condizioni finali parametrizzabili. Tali misure devono essere prese dall'utente. Un ulteriore aumento della sicurezza dei dati può essere raggiunto tramite l'uso di telegrammi di conferma dei telegrammi di trasmissione o ricezione. Ciò è realizzato in protocolli di alta qualità per la comunicazione dati (modello di riferimento ISO a 7 livelli). Sicurezza di trasmissione con 3964(R) Il bit di parità migliora la sicurezza dei dati arrotondando il numero dei bit di dati trasmessi a una cifra pari o dispari a seconda della parametrizzazione. Utilizzando il bit di parità si evita che il bit passi da 0 a 1 o viceversa nel carattere da trasmettere. Se due o più bit di uno stesso carattere passano da 0 a 1 o viceversa non è garantito che gli errori vengano riconosciuti. Se per la parità si imposta l'opzione "Nessuna" non viene trasmesso alcun bit di parità. Ciò riduce la sicurezza di trasmissione. A seconda che la trasmissione avvenga con o senza carattere di controllo del blocco si differenzia tra: Trasmissione dati senza carattere di controllo del blocco: 3964 La sicurezza di trasmissione viene raggiunta tramite una struttura definita, disattivazione e ripetizioni del telegramma. Trasmissione dati con carattere di controllo del blocco: 3964R L'elevata sicurezza di trasmissione viene raggiunta tramite una struttura definita e la disattivazione del telegramma, ripetizioni del telegramma e con l'uso contemporaneo di un carattere di controllo del blocco (BCC). Nel presente manuale, in presenza di avvertenze e descrizioni che si riferiscono ad entrambi i modi di trasmissione dati, si ricorre alla denominazione 3964(R). Manuale di guida alle funzioni, 12/2017, A5E AB 21

23 Principi di base della comunicazione seriale 3.2 Sicurezza di trasmissione Sicurezza di trasmissione con Modbus e USS Il bit di parità migliora la sicurezza della trasmissione arrotondando il numero dei bit di dati trasmessi a una cifra pari o dispari a seconda della parametrizzazione. Utilizzando il bit di parità si evita che il bit passi da 0 a 1 o viceversa nel carattere da trasmettere. Se due o più bit di uno stesso carattere passano da 0 a 1 o viceversa non è garantito che l'errore venga riconosciuto. Se per la parità si imposta l'opzione "Nessuna" non viene trasmesso alcun bit di parità. Ciò riduce la sicurezza di trasmissione. Nel Modbus viene inoltre utilizzato il controllo ciclico di ridondanza (CRC: cyclic redundancy check). Prima della trasmissione dei dati, per ogni blocco di dati utili viene aggiunta un'ulteriore ridondanza sotto forma di valore CRC. Si tratta di un valore di controllo calcolato secondo un metodo particolare, che consente di rilevare gli eventuali errori durante la trasmissione. Nell'USS viene utilizzato anche un carattere di controllo del blocco BCC (block check character). Durante la ricezione il carattere di controllo del blocco viene formato e confrontato con il valore BCC ricevuto dopo la lettura del telegramma completo. Se i caratteri non corrispondono il telegramma non viene valutato (se un carattere viene trasmesso in modo errato l'errore viene rilevato con sicurezza. Se viene trasmesso in modo errato un numero pari di caratteri, l'errore non può essere rilevato con sicurezza). 22 Manuale di guida alle funzioni, 12/2017, A5E AB

24 Principi di base della comunicazione seriale 3.3 Funzionamento RS Funzionamento RS232 I seguenti moduli di comunicazione supportano il funzionamento RS232: CM PtP RS232 BA CM PtP RS232 HF CM PtP (ET 200SP) Nel funzionamento RS232 i dati vengono trasmessi attraverso due linee. È disponibile una linea per la direzione di trasmissione e una per quella di ricezione. È possibile inviare e ricevere contemporaneamente (fullduplex). Segnali RS232 Se si utilizza la fisica RS232, sul modulo di comunicazione saranno presenti, oltre ai segnali TXD, RXD e GND, anche altri segnali dell'rs232: TXD Uscita Dati di trasmissione (Transmitted Data); Trasmissione in corso nell'interfaccia RXD Ingresso Dati di ricezione (Received Data); Ricezione in corso nell'interfaccia GND Terra funzionale (Ground); a potenziale libero DCD Ingresso Livello del segnale di ricezione (Data Carrier Detect); Segnale portante in caso di collegamento di un modem. Il partner della comunicazione segnala di aver rilevato dati in ingresso. DTR Uscita Terminale pronto (Data terminal ready); DTR su "ON": modulo di comunicazione attivato, operativo DTR su "OFF": modulo di comunicazione non attivato, non operativo DSR Ingresso Pronto al funzionamento (Data Set Ready); DSR su "ON": il partner di comunicazione segnala di essere pronto al funzionamento DSR su "OFF": partner di comunicazione non attivato, non operativo RTS Uscita Attivazione trasmettitore (Request To Send) RTS su "ON": modulo di comunicazione pronto alla trasmissione; segnala al partner che sono pronti dati da inviare RTS su "OFF": modulo di comunicazione non ancora pronto alla trasmissione CTS Ingresso Pronto alla trasmissione (Clear To Send) Il partner di comunicazione può ricevere dati dal modulo di comunicazione (risposta su RTS = ON del CM) CTS su "ON": segnala al partner di comunicazione la disponibilità a ricevere dati CTS su "OFF": segnala al partner della comunicazione "non pronto alla ricezione" RI Ingresso Chiamata in entrata in caso di collegamento di un modem (Ring Indicator) Dopo l'accensione del modulo di comunicazione i segnali di uscita si trovano nello stato OFF (inattivi). Manuale di guida alle funzioni, 12/2017, A5E AB 23

25 Principi di base della comunicazione seriale 3.3 Funzionamento RS232 L'utilizzo dei segnali di comando DTR/DSR e RTS/CTS si può parametrizzare dall'interfaccia utente del modulo di comunicazione. Nei seguenti casi non è possibile influenzare i segnali RS232: controllo del flusso dati "Hardware RTS sempre attivato" parametrizzato (corrisponde alla gestione automatica dei segnali addizionali) controllo del flusso dati "Hardware RTS sempre ON" parametrizzato (corrisponde al controllo del flusso hardware con RTS/CTS) controllo del flusso dati "Hardware RTS sempre ON, ignora DTR/DSR" Vedere a questo proposito anche il capitolo Handshake (Pagina 32). Cavi con connettore Per il collegamento a un partner di comunicazione che a sua volta è dotato di spinotto Sub-D a 9 poli sono disponibili i seguenti cavi standard con connettore in diverse lunghezze: Numero di articolo 6ES7902-1AB00-0AA0 6ES7902-1AC00-0AA0 6ES7902-1AD00-0AA0 Denominazione Cavo con connettore S7 RS232 tipo di prodotto Lunghezza cavo 5 m 10 m 15 m Nella tabella seguente è riportata la piedinatura del connettore maschio sub D a 9 poli del rispettivo modulo di comunicazione. Connettore maschio* Pin Denominazione Ingresso/ uscita 1 DCD Ingresso Opzionale 2 RXD Ingresso Necessario 3 TXD Uscita Necessario 4 DTR Uscita Opzionale 5 GND Necessario 6 DSR Ingresso Opzionale 7 RTS Uscita Opzionale 8 CTS Ingresso Opzionale 9 RI Ingresso Opzionale Necessario/Opzionale in caso di preparazione autonoma * Vista anteriore Il cavo o il connettore dei cavi con connettore indicati non sono disponibili come articolo singolo. Se i cavi con connettore vengono preparati autonomamente, occorre fare in modo che nel partner di comunicazione gli ingressi non collegati vengano messi possibilmente a potenziale di riposo. 24 Manuale di guida alle funzioni, 12/2017, A5E AB

26 Principi di base della comunicazione seriale 3.3 Funzionamento RS232 Tenere presente che è ammesso esclusivamente l'uso di custodie schermate. Lo schermo del cavo deve essere collegato con la custodia del connettore da entrambe le estremità e su ampia superficie. CAUTELA Non collegare mai lo schermo del cavo con GND Non collegare mai tra loro lo schermo del cavo e GND perché si potrebbero danneggiare le interfacce irrimediabilmente. GND deve essere in ogni caso collegato su entrambi i lati (pin 5), altrimenti si potrebbe arrecare un danno irreparabile ai moduli dell'interfaccia. Nella seguente figura è rappresentato il cavo con connettore per l'accoppiamento punto a punto tra un modulo di comunicazione e un partner di comunicazione. Manuale di guida alle funzioni, 12/2017, A5E AB 25

27 Principi di base della comunicazione seriale 3.4 Funzionamento RS Funzionamento RS422 I seguenti moduli di comunicazione supportano il funzionamento RS422: CM PtP RS422/485 BA CM PtP RS422/485 HF CM PtP (ET 200SP) Nel funzionamento RS422 la trasmissione dei dati avviene tramite due coppie di linee (funzionamento a quattro fili). È disponibile una coppia di linee per la direzione di trasmissione e una per quella di ricezione. È possibile inviare e ricevere contemporaneamente (fullduplex). Ogni partner di comunicazione deve essere in grado di utilizzare un dispositivo di trasmissione/ricezione simultaneamente. I dati possono essere scambiati contemporaneamente tra due o più partner di comunicazione. Nel funzionamento a più punti RS422 può trasmettere sempre solo uno slave alla volta. Modi di funzionamento dell'interfaccia Nella tabella seguente sono riepilogati i modi di funzionamento dell'interfaccia, dei moduli di comunicazione e dei vari protocolli. Nel funzionamento RS422 il modulo di comunicazione può essere impiegato nelle seguenti topologie: Accoppiamento tra due nodi: Accoppiamento punto a punto Accoppiamento tra più nodi: Accoppiamento a più punti (disponibile solo per CM PtP (ET 200SP)) Modo di funzionamento Fullduplex (RS 422) funzionamento a quattro fili (Punto a punto) Fullduplex (RS422) funzionamento a quattro fili (Master multipoint) Fullduplex (RS 422) funzionamento a quattro fili (Slave multipoint) Descrizione In questo modo di funzionamento i due nodi hanno gli stessi diritti. Il modulo di comunicazione può essere utilizzato come master multipoint. Il modulo di comunicazione può essere utilizzato come slave multipoint. Con la topologia master/slave multipoint nel funzionamento RS422 vale: Il trasmittente del master viene attivato unitamente ai riceventi di tutti gli slave. I trasmittenti degli slave vengono attivati unitamente al ricevente del master. La preimpostazione avviene nel ricevente del master e nel ricevente di uno slave. Tutti gli altri slave funzionano senza preimpostazione. 26 Manuale di guida alle funzioni, 12/2017, A5E AB

28 Principi di base della comunicazione seriale 3.4 Funzionamento RS422 Segnali RS422 Se si utilizza l RS422 fisica, sul modulo di comunicazione sono presenti i seguenti segnali: T (A) - Uscita Dati di trasmissione (Transmitted Data) T (B) + Uscita Dati di trasmissione (Transmitted Data) R (A) - Ingresso Dati di ricezione (Received Data) R (B) + Ingresso Dati di ricezione (Received Data) GND Terra funzionale (Ground); a potenziale libero Cavi con connettore Per il collegamento a un partner di comunicazione che a sua volta è dotato di presa Sub-D a 15 poli sono disponibili i seguenti cavi standard con connettore in diverse lunghezze: Numero di articolo 6ES7902-3AB00-0AA0 6ES7902-3AC00-0AA0 6ES7902-3AG00-0AA0 Denominazione tipo di prodotto Cavo con connettore S7 RS422 Lunghezza cavo 5 m 10 m 50 m La tabella seguente mostra l'assegnazione dei pin del connettore femmina sub D a 15 poli del rispettivo modulo di comunicazione. Connettore femmina * Pin Denominazione Ingresso/uscita T (A) - Uscita R (A) - Ingresso GND - 9 T (B) + Uscita R (B) + Ingresso * Vista anteriore Il cavo o il connettore dei cavi con connettore indicati non sono disponibili come articolo singolo. Se i cavi con connettore vengono preparati autonomamente, occorre fare in modo che nel partner di comunicazione gli ingressi non collegati vengano messi possibilmente a potenziale di riposo. Manuale di guida alle funzioni, 12/2017, A5E AB 27

29 Principi di base della comunicazione seriale 3.4 Funzionamento RS422 Tenere presente che è ammesso esclusivamente l'uso di custodie schermate. Lo schermo del cavo deve essere collegato con la custodia del connettore da entrambe le estremità e su ampia superficie. CAUTELA Non collegare mai lo schermo del cavo con GND Non collegare mai tra loro lo schermo del cavo e GND perché si potrebbero danneggiare le interfacce irrimediabilmente. GND deve essere in ogni caso collegato su entrambi i lati (pin 8), altrimenti si potrebbero danneggiare in modo irreparabile i moduli dell'interfaccia. Nella seguente figura è rappresentato il cavo con connettore per l'accoppiamento punto a punto tra un modulo di comunicazione e un partner di comunicazione. Nota Per il tipo di cavo usato sono possibili per un modulo di comunicazione come partner di comunicazione le seguenti lunghezze: max m con baud, max. 500 m con baud, max. 250 m con baud. 28 Manuale di guida alle funzioni, 12/2017, A5E AB

30 Principi di base della comunicazione seriale 3.5 Funzionamento RS Funzionamento RS485 I seguenti moduli di comunicazione supportano il funzionamento RS485: CM PtP RS422/485 BA CM PtP RS422/485 HF CM PtP (ET 200SP) Nel funzionamento RS485 la trasmissione dei dati avviene tramite una coppia di linee (funzionamento a due fili). La coppia di linee è disponibile, in modo alternato, per la direzione di trasmissione e per la direzione di ricezione. È possibile inviare o ricevere (semiduplex). Dopo l'invio di dati avviene automaticamente la commutazione alla ricezione (predisposizione alla ricezione). Non appena perviene un nuovo ordine di trasmissione si commuta di nuovo alla trasmissione. Modi di funzionamento dell'interfaccia Nella tabella seguente sono riepilogati i modi di funzionamento dell'interfaccia, dei moduli di comunicazione e dei vari protocolli. Modo di funzionamento Semiduplex (RS485) funzionamento a 2 fili Descrizione Modo di funzionamento per accoppiamento punto a punto oppure accoppiamento a più punti (multipoint) in funzionamento a due fili. Il modulo di comunicazione può essere sia master che slave. Se si impiega il Freeport nel funzionamento RS485 (semiduplex, funzionamento a due fili), è necessario prestare attenzione che nel programma utente sia sempre solo un nodo a trasmettere. Trasmettendo contemporaneamente, i telegrammi vengono falsati. Nel Modbus viene garantito automaticamente che possa trasmettere un solo nodo per volta. Tempi di commutazione per il modulo di comunicazione RS485 in funzionamento semiduplex Il tempo massimo di commutazione fra trasmissione e ricezione è di 0,1 ms. Segnali RS485 Se si utilizza l RS485 fisica, sul modulo di comunicazione sono presenti i seguenti segnali: R (A)/T (A) - Ingresso/uscita Dati di ricezione/trasmissione (Received/Transmitted Data) R (B)/T (B) + Ingresso/uscita Dati di ricezione/trasmissione (Received/Transmitted Data) GND Terra funzionale (Ground); a potenziale libero Manuale di guida alle funzioni, 12/2017, A5E AB 29

31 Principi di base della comunicazione seriale 3.5 Funzionamento RS485 Cavi con connettore La tabella seguente mostra l'assegnazione dei pin del connettore femmina sub D a 15 poli del rispettivo modulo di comunicazione. Connettore femmina* Pin Denominazione Ingresso/uscita R (A)/T (A) - Ingresso/uscita GND R (B)/T (B) + Ingresso/uscita * Vista anteriore Quando si confezionano i cavi con connettore si devono mettere possibilmente a potenziale di riposo gli ingressi non collegati dal lato del partner di comunicazione. Tenere presente che è ammesso esclusivamente l'uso di custodie schermate. Lo schermo del cavo deve essere collegato con la custodia del connettore da entrambe le estremità e su ampia superficie. CAUTELA Non collegare mai lo schermo del cavo con GND Non collegare mai tra loro lo schermo del cavo e GND perché si potrebbero danneggiare le interfacce irrimediabilmente. GND deve essere in ogni caso collegato su entrambi i lati (pin 8), altrimenti si potrebbero danneggiare in modo irreparabile i moduli dell'interfaccia. 30 Manuale di guida alle funzioni, 12/2017, A5E AB

32 Principi di base della comunicazione seriale 3.5 Funzionamento RS485 Nella seguente figura è rappresentato il cavo con connettore per l'accoppiamento punto a punto tra un modulo di comunicazione e un partner di comunicazione. Manuale di guida alle funzioni, 12/2017, A5E AB 31

33 Principi di base della comunicazione seriale 3.6 Handshake 3.6 Handshake Introduzione I metodi di handshake controllano il flusso di dati tra due partner di comunicazione. Con l'utilizzo di metodi di handshake si evita la perdita di dati durante la trasmissione, nel caso in cui due apparecchiature operino a velocità diverse. In linea di principio si differenzia tra i seguenti metodi: Tabella 3-1 Panoramica dei metodi e delle interfacce Metodo RS232 RS422 RS485 Controllo del flusso dati del software XON/XOFF X X - Controllo del flusso dati dell'hardware RTS/CTS X - - Gestione automatica dei segnali addizionali X - - Controllo del flusso dati del software La realizzazione del controllo del flusso dati del software nel modulo di comunicazione viene eseguita nel modo seguente: XON/XOFF Non appena il modulo di comunicazione è stato portato mediante parametrizzazione nel modo di funzionamento "XON/XOFF", esso invia il carattere XON consentendo al partner di comunicazione di avviare la trasmissione. Al raggiungimento del numero massimo di telegrammi parametrizzato o di 16 caratteri prima dell'overflow del buffer di ricezione, il modulo di comunicazione invia il carattere XOFF chiedendo così al partner di comunicazione di interrompere la trasmissione. Se il partner di comunicazione continua comunque la trasmissione, al momento dell'overflow del buffer viene generato un messaggio di errore. I dati ricevuti dell'ultimo telegramma vengono respinti. Dopo il prelievo di un telegramma da parte della CPU, appena il buffer è di nuovo pronto per la ricezione, il modulo di comunicazione invia il carattere XON. Se nel corso di una trasmissione il modulo di comunicazione riceve il carattere XOFF, interrompe la trasmissione fino a quando il partner di comunicazione riceve nuovamente un carattere XON. Se entro un determinato arco di tempo parametrizzabile non si riceve il carattere XON, la trasmissione viene interrotta e viene generato un relativo messaggio di errore. Nota I caratteri per XON e XOFF possono essere parametrizzati (qualsiasi carattere ASCII). Per la parametrizzazione del controllo del flusso dati del software XON/XOFF, i dati utili non devono contenere nessuno dei caratteri XON o XOFF parametrizzati. 32 Manuale di guida alle funzioni, 12/2017, A5E AB

34 Principi di base della comunicazione seriale 3.6 Handshake Controllo del flusso dati dell'hardware Nota Nella parametrizzazione "Hardware RTS sempre ON, ignora DTR/DSR" non è necessario cablare i segnali DTR/DSR. Nella parametrizzazione "Hardware RTS sempre ON" è assolutamente necessario effettuare un cablaggio completo dei segnali di interfaccia usati. Assicurarsi che l'rts locale (out) sia collegato con il CTS (in) del partner di comunicazione e il CTS locale con l'rts del partner di comunicazione. Allo stesso modo il DTR locale deve essere collegato al DSR del partner di comunicazione e il DSR locale con il DTR del partner di comunicazione. Figura 3-2 Cablaggio dei segnali di interfaccia Hardware RTS sempre ON, ignora DTR/DSR Non appena il modulo di comunicazione è stato portato tramite parametrizzazione in un modo di funzionamento con "Hardware RTS sempre ON", esso segnala al partner di comunicazione la sua operatività con RTS = ON. Al raggiungimento del numero massimo di telegrammi parametrizzato o di 16 caratteri prima dell'overflow del buffer di ricezione, RTS viene impostato su OFF. Se il partner di comunicazione continua comunque la trasmissione, in caso di overflow del buffer di ricezione viene generato un messaggio di errore. I dati ricevuti dell'ultimo telegramma vengono respinti. Dopo il prelievo di un telegramma da parte della CPU, appena il buffer è di nuovo pronto per la ricezione, RTS viene nuovamente impostato su ON. Se nel corso della trasmissione CTS viene commutato su OFF, il modulo di comunicazione interrompe la trasmissione fino a quando CTS viene nuovamente impostato su ON. Se entro un arco di tempo parametrizzato CTS non viene reimpostato su ON, la trasmissione viene interrotta e viene emesso un relativo messaggio di errore. Manuale di guida alle funzioni, 12/2017, A5E AB 33

35 Principi di base della comunicazione seriale 3.6 Handshake Hardware RTS sempre ON Il modo di funzionamento "Hardware RTS sempre ON" corrisponde al modo di funzionamento "Hardware RTS sempre ON, ignora DTR/DSR", tuttavia occorre cablare in più DTR e DSR. Non appena il modulo di comunicazione è stato portato tramite parametrizzazione in un modo di funzionamento con "Hardware RTS sempre ON", esso segnala al partner di comunicazione la sua operatività impostando DTR = ON e RTS = ON. Al raggiungimento del numero massimo di telegrammi parametrizzato o di 16 caratteri prima dell'overflow del buffer di ricezione, RTS viene impostato su OFF. Se il partner di comunicazione continua comunque la trasmissione, in caso di overflow del buffer di ricezione viene generato un messaggio di errore. I dati ricevuti dell'ultimo telegramma vengono respinti. Dopo il prelievo di un telegramma da parte della CPU, appena il buffer è di nuovo pronto per la ricezione, RTS viene nuovamente impostato su ON. Se nel corso della trasmissione CTS viene commutato su OFF, il modulo di comunicazione interrompe la trasmissione fino a quando CTS viene nuovamente impostato su ON. Se entro un arco di tempo parametrizzato CTS non viene reimpostato su ON, la trasmissione viene interrotta e viene emesso un relativo messaggio di errore. Se si commuta DSR = ON in OFF, un ordine di trasmissione in corso viene interrotto con un messaggio di errore. Gestione automatica dei segnali addizionali Hardware RTS sempre attivato La realizzazione di "Hardware RTS sempre attivato" nel modulo di comunicazione viene eseguita nel modo seguente: Non appena il modulo di comunicazione viene portato tramite parametrizzazione nel modo di funzionamento con "Hardware RTS sempre attivato", esso imposta le linee RTS su OFF e DTR su ON (modulo di comunicazione operativo). L'invio di telegrammi è possibile solo dopo che la linea DSR è stata posta su ON. Finché DSR rimane su OFF non vengono inviati dati attraverso l'interfaccia RS232. Un ordine di trasmissione viene interrotto con il relativo messaggio di errore. Se si è in presenza di un ordine di trasmissione, RTS viene posto su ON e viene avviato il ritardo RTS ON parametrizzato. Decorso questo tempo si verifica se il partner di comunicazione ha impostato CTS su ON. In caso affermativo i dati vengono inviati attraverso l'interfaccia RS232. Se entro il ritardo RTS ON la linea CTS non viene posta su ON, o se durante la trasmissione si ha un passaggio di CTS su OFF, l'ordine di trasmissione viene interrotto e si genera un opportuno messaggio errore. Dopo l'invio dei dati, la linea RTS, dopo la scadenza del ritardo RTS OFF parametrizzato, viene posta a OFF. Non si ha un'attesa del passaggio di CTS su OFF. La ricezione di dati tramite l'interfaccia RS232 è sempre possibile. Se il buffer di ricezione del modulo di comunicazione rischia un overflow, non si ha alcuna reazione. 34 Manuale di guida alle funzioni, 12/2017, A5E AB

36 Principi di base della comunicazione seriale 3.6 Handshake Se si commuta DSR = ON in OFF, un ordine di trasmissione in corso viene interrotto con un messaggio di errore. Nota Il "Ritardo RTS OFF" va dimensionato in modo che il partner di comunicazione possa portarsi in attesa di ricezione prima che il tempo trascorra. Il "Ritardo RTS OFF" va impostato in modo che il partner di comunicazione sia in grado, prima che RTS e quindi la volontà di trasmissione sia disattivata, di ricevere gli ultimi caratteri del telegramma in modo completo. Nota Se si parametrizza un comando automatico dei segnali RS232 non è possibile comandare RTS e DTR utilizzando l'istruzione corrispondente. Diagramma dei tempi La figura seguente mostra lo svolgimento temporale di un ordine di trasmissione nel caso sia stato parametrizzato il controllo del flusso dati "Hardware RTS sempre attivato": Figura 3-3 Diagramma temporale con hardware RTS sempre attivo Manuale di guida alle funzioni, 12/2017, A5E AB 35

37 Principi di base della comunicazione seriale 3.6 Handshake Ulteriori informazioni Nota Con le seguenti impostazioni il comando di DTR/DSR o RTS/CTS viene acquisito dal modulo di comunicazione: Hardware RTS sempre ON, ignora DTR/DSR Hardware RTS sempre ON Hardware RTS sempre attivato 36 Manuale di guida alle funzioni, 12/2017, A5E AB

38 Configurazione/parametrizzazione Configurazione/parametrizzazione di un modulo di comunicazione I prossimi capitoli illustrano i seguenti protocolli e parametri: Comunicazione tramite Freeport (Pagina 38) Comunicazione tramite 3964(R) (Pagina 47) Comunicazione tramite Modbus RTU (Pagina 53) Comunicazione tramite USS (Pagina 61) Queste informazioni sono indispensabili per poter parametrizzare e successivamente programmare la comunicazione del protocollo utilizzato. La configurazione e la parametrizzazione vengono effettuate nella vista dispositivi di STEP 7 (TIA Portal) e nella finestra delle proprietà del modulo di comunicazione. Alcune configurazioni possono essere modificate con le corrispondenti istruzioni "Config" (Port_Config, Send_Config, Receive_Config, P3964_Config) anche durante l'esecuzione. Procedura di configurazione della comunicazione PtP La procedura è indipendente dal modulo di comunicazione utilizzato. 1. Nella vista dispositivi dell'editor hardware di STEP 7 (TIA Portal) definire una configurazione per l's con CPU e modulo di comunicazione. 2. Nell'area "Generale", scheda "Proprietà" eseguire la parametrizzazione dell'interfaccia del modulo di comunicazione (protocollo, parametri del protocollo, indirizzi). Manuale di guida alle funzioni, 12/2017, A5E AB 37

39 Configurazione/parametrizzazione 4.2 Comunicazione tramite Freeport 4.2 Comunicazione tramite Freeport Procedimento per la configurazione di un collegamento seriale con Freeport Presupposti L'hardware è stato configurato ed è stato stabilito un collegamento elettrico con il partner di accoppiamento. Il progetto è stato creato in STEP 7 (TIA Portal) e la CPU è stata inserita nella configurazione hardware. Procedimento - Configurazione hardware 1. Inserire il modulo di comunicazione CM PtP nella configurazione hardware. 2. Impostare i parametri di comunicazione in base al partner di accoppiamento: Ad es. la velocità di trasmissione, il frame caratteri, l'inizio e la fine del telegramma I parametri vengono trasmessi al modulo di comunicazione CM PtP ad ogni avvio della CPU. Procedimento - Programmazione 1. Definire la struttura di dati che conterrà i dati da trasmettere. Invio dei dati 1. Inserire le istruzioni della biblioteca PtP Communication: Send_P2P per l'invio dei dati 2. Collegare i parametri di ingresso e di uscita dell'istruzione, ad es.: L'HWID delle variabili di sistema all'ingresso PORT La struttura con i dati da inviare all'ingresso BUFFER Avvertenza: durante il funzionamento l'area dati specificata viene inviata ad ogni fronte di salita nell'ingresso REQ. Il blocco deve essere richiamato finché DONE non indica che i dati sono stati trasmessi all'unità. Se si verifica un errore, ERROR viene impostato una volta e STATUS informa che i dati non sono stati trasmessi. 38 Manuale di guida alle funzioni, 12/2017, A5E AB

40 Configurazione/parametrizzazione 4.2 Comunicazione tramite Freeport Ricezione dei dati: 1. Inserire le istruzioni della biblioteca PtP Communication: Receive_P2P per la ricezione dei dati 2. Collegare i parametri di ingresso e di uscita dell'istruzione, ad es.: L'HWID delle variabili di sistema all'ingresso PORT La struttura per la memorizzazione dei dati ricevuti all'ingresso BUFFER Avvertenza: durante il funzionamento un livello high nell'uscita NDR indica che i dati sono stati ricevuti e memorizzati nell'area dati specificata. Il blocco deve essere richiamato finché NDR=TRUE. Quindi è possibile analizzare i dati ricevuti e richiamare nuovamente RECEIVE_P2P. Ulteriori opzioni Le istruzioni che terminano con _Config possono essere utilizzate in opzione per modificare i parametri della configurazione hardware durante il funzionamento. Le modifiche non vengono salvate nella configurazione hardware. Al successivo riavvio vengono nuovamente sovrascritte. Per comandare i segnali addizionali RS232 nel caso in cui il comando automatico non fosse utilizzabile si possono usare le istruzioni Signal_Set e Signal_Get Trasmissione dati con Freeport Premessa Freeport è un protocollo liberamente programmabile basato su telegrammi conosciuto anche come protocollo ASCII. Il protocollo Freeport gestisce la trasmissione dati in un accoppiamento punto a punto tra il modulo di comunicazione e un partner di comunicazione. Il protocollo Freeport contiene il livello fisico (livello 1). Con il protocollo Freeport possono essere trasmessi e ricevuti messaggi con una struttura qualsiasi (tutti i caratteri da 00H a FFH (con struttura carattere da 8 bit di dati) o da 00H a 7FH (con struttura carattere da 7 bit di dati). Sia per la direzione di trasmissione che per quella di ricezione vanno parametrizzati i criteri iniziali e finali di un telegramma. I criteri iniziali e finali di un telegramma possono essere parametrizzati in modi diversi. Per la comunicazione con il partner sono disponibili apposite istruzioni (vedere Panoramica della programmazione PtP (Pagina 65)). Manuale di guida alle funzioni, 12/2017, A5E AB 39

41 Configurazione/parametrizzazione 4.2 Comunicazione tramite Freeport Invio di dati con Freeport Definizione delle impostazioni per l'invio Per inviare un messaggio è necessario comunicare al partner l'inizio e la fine dello stesso. Queste impostazioni possono essere definite nella configurazione hardware in modo definitivo o modificate durante l'esecuzione con l'istruzione Send_CFG. Si possono scegliere le seguenti opzioni o una loro combinazione: Invia Break prima dell'inizio del telegramma È possibile specificare che all'inizio di ogni trasmissione di un messaggio venga inviato anche un Break quando è trascorso il tempo di ritardo RTS ON. La durata del segnale "Break" è indicata in bit time. Se la sincronizzazione avviene tramite altri meccanismi, il rispetto della pausa di trasmissione può essere disattivato. Invia Idle Line Consente di definire che all'inizio di ogni trasmissione di un messaggio venga emesso anche il segnale "Idle Line". La durata del segnale "Idle Line" si indica in bit time. Se la sincronizzazione avviene tramite altri meccanismi, il rispetto della pausa di trasmissione può essere disattivato. Ritardo RTS ON È possibile parametrizzare il tempo che deve trascorrere dopo la richiesta di trasmissione RTS (Request to send) prima che inizi la trasmissione dei dati vera e propria (solo RS232). Ritardo RTS OFF È possibile parametrizzare il tempo che deve trascorrere a trasmissione completata prima che venga disattivato il segnale RTS (solo RS232). Invia fino ai caratteri finali compresi Consente di parametrizzare il numero dei caratteri finali (1 o 2) e il loro valore. Vengono inviati i caratteri fino a quello/quelli finale/i, indipendentemente dalla lunghezza del telegramma selezionato. Il carattere finale deve essere contenuto nei dati da trasmettere. I dati vengono trasmessi solo fino al carattere finale incluso anche se è indicata una lunghezza dei dati maggiore. Numero di caratteri aggiunti Permette di specificare il numero di caratteri aggiunti. Vengono inviati dati fino alla lunghezza parametrizzata. Il/i carattere/i finale/i viene/vengono aggiunto/i automaticamente. A seconda del numero di caratteri finali vengono trasmessi al partner da 1 a 5 caratteri in più di quanto indicato nell'istruzione. Nota Se si sceglie la combinazione "Invia Break prima dell'inizio del telegramma", "Invia Idle Line" e "Ritardo RTS ON", le istruzioni vengono eseguite nella sequenza "Ritardo RTS ON", "Invia Break prima dell'inizio del telegramma" e "Invia Idle Line". 40 Manuale di guida alle funzioni, 12/2017, A5E AB

42 Configurazione/parametrizzazione 4.2 Comunicazione tramite Freeport Ricezione di dati con Freeport Determinazione dell'inizio di un messaggio Con la trasmissione dati tramite Freeport è possibile scegliere fra vari criteri iniziali. Il criterio iniziale stabilisce il momento in cui un telegramma inizia. Una volta soddisfatto un criterio che visualizza l'inizio del messaggio, inizia la ricerca dei criteri per la fine del messaggio nel flusso dati. Scegliere qui le impostazioni che corrispondono alle proprietà del partner della comunicazione che trasmette. Per il riconoscimento dell'inizio di un messaggio si può procedere in due modi diversi: Inizia con un carattere qualsiasi Qualsiasi carattere può definire l'inizio di un messaggio (preimpostazione). Ciò significa che il primo carattere all'inizio di una comunicazione o dopo la fine riconosciuta di un telegramma viene riconosciuto come primo carattere di un messaggio. Inizia con condizione speciale L'inizio del messaggio viene riconosciuto sulla base delle seguenti condizioni definite. Dopo il riconoscimento di un Line Break L'inizio del telegramma viene accettato solo se prima è stato ricevuto un Break, vale a dire che il partner deve assolutamente inviare un Break prima dell'invio del telegramma. Dopo il riconoscimento di un Idle Line L'inizio del telegramma viene accettato solo se è trascorsa la durata di Idle Line parametrizzata. Ciò presuppone una pausa minima tra 2 telegrammi. Dopo ricezione del carattere iniziale L'inizio del telegramma viene riconosciuto se è stato riconosciuto il carattere iniziale parametrizzato. Dopo il riconoscimento di una o più sequenze di inizio L'inizio del telegramma viene riconosciuto se è stata riconosciuta la sequenza di caratteri parametrizzata che comprende fino a 5 caratteri. Si possono parametrizzare fino a 4 sequenze di inizio. Le sequenze di inizio che comprendono fino a 5 caratteri possono contenere anche "don't care characters". Manuale di guida alle funzioni, 12/2017, A5E AB 41

43 Configurazione/parametrizzazione 4.2 Comunicazione tramite Freeport Esempio: Tabella 4-1 Condizione iniziale parametrizzata Condizione iniziale 1. carattere 2. carattere 3. carattere 4. carattere 5. carattere 1 0x68 xx xx 0x68 xx 2 0x10 0xaa xx xx xx 3 0xdc 0xaa xx xx xx 4 0xe5 xx xx xx xx : È stato ricevuto il seguente messaggio: aa 68 bb 10 aa 16 La valutazione dei criteri di inizio comincia dalla ricezione del 1 carattere 0x68. Il 2 e il 3 carattere sono caratteri qualsiasi. Con la ricezione del 4 carattere (secondo 0x68) la 1a condizione iniziale è soddisfatta e inizia la successiva valutazione del messaggio. Determinazione della fine di un messaggio Con la trasmissione dati tramite protocollo Freeport è possibile scegliere fra vari criteri finali. Il criterio finale stabilisce il momento in cui un telegramma è stato ricevuto completamente. I criteri finali impostabili sono: Rileva la fine del messaggio mediante time out dello stesso Rileva la fine del messaggio mediante time out di risposta A scadenza del tempo di ritardo del carattere (preimpostazione) Dopo la ricezione di una lunghezza fissa del telegramma Dopo la ricezione di un numero massimo di caratteri Leggi lunghezza messaggio dal messaggio Dopo la ricezione di una sequenza di fine Time out dei messaggi Nella ricezione di dati, la fine del telegramma viene riconosciuta quando è trascorso il tempo parametrizzato per la trasmissione di un telegramma. Il rilevamento dei tempi inizia con l'applicazione del criterio iniziale. Time out di risposta Il tempo di risposta controlla il modo in cui il partner della comunicazione risponde. Se, al termine della trasmissione, non viene rilevato un inizio di telegramma valido, la trasmissione viene conclusa con un messaggio. Il criterio finale vero e proprio deve essere parametrizzato separatamente. 42 Manuale di guida alle funzioni, 12/2017, A5E AB

44 Configurazione/parametrizzazione 4.2 Comunicazione tramite Freeport Scadenza del tempo di ritardo del carattere Nella ricezione di dati, la fine del telegramma viene riconosciuta quando viene superato il tempo massimo impostato tra caratteri consecutivi (tempo di ritardo caratteri). Il valore viene indicato in bit time. In questo caso il tempo di ritardo caratteri deve essere impostato in modo che tra due telegrammi consecutivi esso possa trascorrere con certezza. Esso però deve essere grande abbastanza da permettere di non confondere erroneamente una pausa di trasmissione del partner di comunicazione all'interno di un telegramma con la fine del telegramma stesso. Lunghezza fissa del telegramma Nella ricezione di dati, la fine del telegramma viene riconosciuta quando viene raggiunta la lunghezza del telegramma parametrizzata. Se il tempo di ritardo caratteri (se attivato) decorre prima che venga raggiunta la lunghezza fissa del telegramma, compare un messaggio di errore e il telegramma viene respinto. Se la lunghezza del telegramma dei caratteri ricevuti non è uguale a quella fissa parametrizzata osservare quanto segue: Tutti i caratteri ricevuti dopo il raggiungimento della lunghezza fissa parametrizzata per il telegramma vengono respinti fino al riconoscimento di un nuovo criterio iniziale. Se viene soddisfatto un altro criterio finale (attivo) prima che venga raggiunta la lunghezza fissa parametrizzata per il telegramma, viene emesso un messaggio di errore e il telegramma viene respinto. Numero massimo di caratteri Nella ricezione di dati, la fine del telegramma viene riconosciuta con la ricezione del numero di caratteri parametrizzato. Questa impostazione può essere combinata con le impostazioni per "Tempo di ritardo del carattere". La ricezione del telegramma avviene correttamente anche se si verifica un'altra condizione finale, a prescindere dal raggiungimento del numero massimo di caratteri. Se la lunghezza del telegramma dei caratteri ricevuti non è uguale a quella massima parametrizzata osservare quanto segue: Tutti i caratteri che vengono ricevuti dopo il raggiungimento del numero massimo di caratteri parametrizzato vengono respinti fino al riconoscimento di un nuovo criterio iniziale (ad es. "Idle Line"). Se è soddisfatto un altro criterio finale (attivato) prima che venga raggiunto il numero massimo di caratteri parametrizzato, questa "parte di telegramma" viene considerata telegramma valido e si attende quindi un nuovo criterio iniziale. Tutti i caratteri ricevuti prima dell'applicazione di un nuovo criterio iniziale vengono respinti. Nota Se non è attivato nessun altro criterio finale, i criteri "Lunghezza fissa del telegramma" e "Numero massimo di caratteri" si comportano allo stesso modo. Manuale di guida alle funzioni, 12/2017, A5E AB 43

45 Configurazione/parametrizzazione 4.2 Comunicazione tramite Freeport Lunghezza nel messaggio Nella ricezione di dati, la fine del telegramma viene riconosciuta quando viene raggiunta la lunghezza del telegramma inviata nel telegramma in ricezione. Quali caratteri vanno utilizzati per l'analisi della lunghezza del messaggio viene definito con i seguenti parametri: Offset del campo di lunghezza nel messaggio Il valore determina la posizione nel messaggio del carattere che deve essere utilizzato per la determinazione della lunghezza del messaggio. A seconda della dimensione del buffer si possono impostare valori da 0 a 4095 caratteri. Dimensioni del campo di lunghezza Il valore indica quanti caratteri a partire dalla prima posizione di analisi devono essere utilizzati per la determinazione della lunghezza del messaggio. Si possono impostare valori da 1, 2 e 4 caratteri. Numero dei caratteri che non rientrano nella lunghezza indicata Numero dei caratteri che sono aggiunti al telegramma ma che non rientrano nella lunghezza del telegramma. Il valore indica il numero dei byte alla fine del telegramma che non devono essere considerati nell'analisi della lunghezza del messaggio. Si possono impostare valori da 0 a 255 caratteri. Esempio: Parametrizzazioni per "Lunghezza nel messaggio" Offset del campo di lunghezza nel messaggio: Dimensioni del campo di lunghezza: Numero dei caratteri che non rientrano nella lunghezza indicata: 3. Byte (come offset si deve parametrizzare "2") 1 byte 3 byte Messaggio Carattere iniziale Indirizzo Campo di lunghezza Numero dei caratteri che non rientrano nella lunghezza indicata Somma di Carattere finale controllo Byte 1 Byte 2 Byte 3 Byte... Byte X Byte X+1 Byte X+2 Byte X+3 44 Manuale di guida alle funzioni, 12/2017, A5E AB

46 Configurazione/parametrizzazione 4.2 Comunicazione tramite Freeport Sequenza di fine Nella ricezione di dati, la fine del telegramma viene riconosciuta con la ricezione della sequenza di fine parametrizzata (max. 5 caratteri). La sequenza di fine che comprende fino a 5 caratteri può contenere anche "don't care characters". I dati ricevuti, inclusa la sequenza di fine, vengono acquisiti dalla CPU. Utilizzando la sequenza di fine, la trasmissione non è a codice trasparente, è pertanto necessario escludere che il riconoscimento finale sia presente nei dati utili dell'utente. Nota Sequenza di fine telegramma Con 1 solo carattere finale, la registrazione deve avvenire tassativamente nella 5 riga. Con 2 caratteri finali, le registrazioni devono avvenire nella 4 e 5 riga (senza spazi). Lo stesso vale con l'impiego di altri caratteri Trasparenza di codice Trasparenza di codice Trasparenza di codice significa che nei dati utili può presentarsi qualsiasi combinazione di caratteri senza che venga riconosciuto il criterio di fine. La trasparenza di codice della procedura dipende dalla scelta del criterio finale parametrizzato e dal controllo di flusso: Con sequenza di fine stabilita o utilizzo del controllo di flusso XON/XOFF codice non trasparente Criterio finale Tempo di ritardo del carattere, Lunghezza fissa del telegramma, Lunghezza massima del telegramma, Time out dei messaggi o Time out di risposta e Lunghezza nel messaggio codice trasparente Manuale di guida alle funzioni, 12/2017, A5E AB 45

47 Configurazione/parametrizzazione 4.2 Comunicazione tramite Freeport Buffer di ricezione Buffer di ricezione dell'unità I moduli di comunicazione dispongono di un buffer di ricezione che memorizza temporaneamente i telegrammi ricevuti finché non vengono trasmessi alla CPU. Il buffer di ricezione è un buffer ad anello, ovvero i telegrammi vengono trasmessi alla CPU nell'ordine di ricezione finché il buffer non si riempie. Se vengono ricevuti altri telegrammi quello più vecchio viene sovrascritto. Se è stata parametrizzata l'opzione "Impedisci sovrascrittura" quando il buffer di ricezione si riempie viene generato un messaggio. Tutti i telegrammi successivi vengono respinti finché il buffer non è nuovamente pronto a riceverli. Durante la parametrizzazione si può specificare se il buffer di ricezione deve essere cancellato o meno durante il funzionamento. È inoltre possibile immettere un valore (da 1 a 255) per il numero dei telegrammi in ricezione bufferizzati. Il buffer di ricezione dell'unità comprende, a seconda del modulo di comunicazione impiegato, fino a 8 byte (vedere il capitolo Introduzione (Pagina 13)). La lunghezza massima del telegramma è pari a 4 kbyte. In questo modo ogni modulo di comunicazione può bufferizzare almeno due telegrammi. Se si intende trasmettere alla CPU sempre solo il telegramma più recente, sarà necessario parametrizzare il valore "1" per il numero dei telegrammi bufferizzati e disattivare la protezione in scrittura. Nota Se la lettura continua dei dati di ricezione nel programma utente viene sospesa per un po', quando vengono richiesti di nuovo i dati di ricezione è possibile che il modulo di comunicazione riceva prima un telegramma vecchio e che la CPU riceva il telegramma più recente solo in seguito. Il vecchio telegramma è già stato acquisito dal buffer di ricezione del modulo di comunicazione al momento dell'interruzione e predisposto per la trasmissione sulla CPU. 46 Manuale di guida alle funzioni, 12/2017, A5E AB

48 Configurazione/parametrizzazione 4.3 Comunicazione tramite 3964(R) 4.3 Comunicazione tramite 3964(R) Procedimento per la configurazione di un collegamento seriale con 3964(R) Presupposti L'hardware è stato configurato ed è stato stabilito un collegamento elettrico con il partner di accoppiamento. Il progetto è stato creato in STEP 7 (TIA Portal) e la CPU è stata inserita nella configurazione hardware. Procedimento - Configurazione hardware 1. Inserire il modulo di comunicazione CM PtP nella configurazione hardware. 2. Impostare i parametri di comunicazione in base al partner di accoppiamento: Ad es. la velocità di trasmissione, il frame caratteri, l'inizio e la fine del telegramma I parametri vengono trasmessi al modulo di comunicazione CM PtP ad ogni avvio della CPU. Procedimento - Programmazione 1. Definire la struttura di dati che conterrà i dati da trasmettere. Invio dei dati: 1. Inserire le istruzioni della biblioteca PtP Communication: Send_P2P per l'invio dei dati 2. Collegare i parametri di ingresso e di uscita dell'istruzione, ad es.: L'HWID delle variabili di sistema all'ingresso PORT La struttura con i dati da inviare all'ingresso BUFFER Avvertenza: durante il funzionamento l'area dati specificata viene inviata ad ogni fronte di salita nell'ingresso REQ. Il blocco deve essere richiamato finché DONE non indica che i dati sono stati trasmessi all'unità. Se si verifica un errore, ERROR viene impostato una volta e STATUS informa che i dati non sono stati trasmessi. Manuale di guida alle funzioni, 12/2017, A5E AB 47

49 Configurazione/parametrizzazione 4.3 Comunicazione tramite 3964(R) Ricezione dei dati: 1. Inserire le istruzioni della biblioteca PtP Communication: Receive_P2P per la ricezione dei dati 2. Collegare i parametri di ingresso e di uscita dell'istruzione, ad es.: L'HWID delle variabili di sistema all'ingresso PORT La struttura per la memorizzazione dei dati ricevuti all'ingresso BUFFER Avvertenza: durante il funzionamento un livello high nell'uscita NDR indica che i dati sono stati ricevuti e memorizzati nell'area dati specificata. Il blocco deve essere richiamato finché NDR=TRUE. Quindi è possibile analizzare i dati ricevuti e richiamare nuovamente RECEIVE_P2P. Ulteriori opzioni Le istruzioni che terminano con _Config possono essere utilizzate in opzione per modificare i parametri della configurazione hardware durante il funzionamento. Le modifiche non vengono salvate nella configurazione hardware. Al successivo riavvio vengono nuovamente sovrascritte. Per comandare i segnali addizionali RS232 nel caso in cui il comando automatico non fosse utilizzabile si possono usare le istruzioni Signal_Set e Signal_Get Trasmissione dati con la procedura 3964(R) Introduzione La procedura 3964(R) gestisce la trasmissione dati in un accoppiamento punto a punto tra il modulo di comunicazione e un relativo partner. Oltre al livello fisico (livello 1), la procedura 3964(R) comprende anche il livello di collegamento (livello 2). Per la comunicazione con il partner sono disponibili apposite istruzioni (vedere Panoramica della programmazione PtP (Pagina 65)). 48 Manuale di guida alle funzioni, 12/2017, A5E AB

50 Configurazione/parametrizzazione 4.3 Comunicazione tramite 3964(R) Carattere di controllo Introduzione La procedura 3964(R) aggiunge alla trasmissione dei dati di informazione un carattere di comando (livello di collegamento). Esso permette al partner della comunicazione di controllare se i dati arrivati sono completi e senza errori. I caratteri di comando della procedura 3964(R) La procedura 3964(R) analizza i seguenti caratteri di controllo: STX Start of Text Inizio della stringa di caratteri da trasmettere 02H DLE Data Link Escape Commutazione della trasmissione dati 10H ETX End of Text Fine della stringa di caratteri da trasmettere 03H NAK Negative acknowledgement Segnalazione di risposta negativa 15H BCC BCC Block Check Character (solo con 3964R) Carattere di controllo blocco BCC viene formato e controllato automaticamente nel modulo di comunicazione. Il carattere di controllo del blocco non viene trasmesso alla CPU all'interno del telegramma. Nota Se, all'interno di un telegramma, viene trasmesso come carattere di informazione DLE, per differenziarlo dal carattere di controllo DLE nell'attivazione e nella disattivazione del collegamento sulla linea di trasmissione, esso viene inviato due volte (raddoppiamento DLE). Il ricevente annulla poi il raddoppio del DLE. Priorità Con la procedura 3964(R) è necessario assegnare una priorità maggiore a un partner di comunicazione e una priorità minore all'altro. Se entrambi i partner creano il collegamento contemporaneamente, il partner con la priorità più bassa deve resettare il proprio ordine di trasmissione. Manuale di guida alle funzioni, 12/2017, A5E AB 49

51 Configurazione/parametrizzazione 4.3 Comunicazione tramite 3964(R) Carattere di controllo blocco Carattere di controllo blocco Nel protocollo di trasmissione 3964R la sicurezza dei dati è maggiore grazie all'invio di un ulteriore carattere di controllo del blocco (BCC = Block Check Character). Il carattere di controllo del blocco è la parità longitudinale pari (combinazione logica XOR di tutti i byte di dati) di un blocco inviato o ricevuto. Essa viene formata iniziando dal primo byte di dati utili (primo byte del telegramma) dopo l'attivazione del collegamento e termina dopo il carattere DLE ETX della disattivazione del collegamento. Nota Nel caso in cui sia stato raddoppiato, il carattere DLE viene introdotto due volte nella formazione del BCC Invio di dati con 3964(R) Creazione del collegamento per l'invio Per creare il collegamento, la procedura 3964(R) invia il carattere di controllo STX. Se il partner di comunicazione risponde con il carattere DLE prima che trascorra il tempo di ritardo conferma (QVZ), la procedura entra in fase di invio. Se il partner di comunicazione risponde con NAK, con un altro carattere qualsiasi (esclusi DLE o STX) o se il tempo di ritardo conferma trascorre senza reazione, la procedura ripete la creazione del collegamento. Una volta eseguito inutilmente il numero parametrizzato di tentativi di collegamento, la procedura interrompe la creazione del collegamento e invia al partner di comunicazione il carattere NAK. Il modulo di comunicazione emette il relativo messaggio di errore. Invio di dati Se l'attivazione del collegamento ha successo, i dati utili contenuti nel buffer di uscita del processore di comunicazione vengono trasmessi al partner di comunicazione con i parametri di trasmissione scelti (l'eventuale DLE rilevato nei dati utili viene raddoppiato nel corso della trasmissione). Il partner sorveglia l'intervallo di tempo tra l'arrivo di un carattere e l'altro. L'intervallo tra due caratteri non può superare il tempo di ritardo caratteri (ZVZ). La sorveglianza del tempo di ritardo caratteri inizia subito dopo l'attivazione del collegamento. Se il partner di comunicazione invia il carattere NAK nel corso di una trasmissione, la procedura interrompe il blocco e lo ripete nel modo descritto precedentemente, iniziando con l'attivazione del collegamento. Con un altro carattere la procedura attende innanzitutto che trascorra il tempo di ritardo caratteri e quindi invia NAK per portare il partner di comunicazione in stato di riposo. A questo punto la procedura ricomincia l'invio creando il collegamento STX. 50 Manuale di guida alle funzioni, 12/2017, A5E AB

52 Configurazione/parametrizzazione 4.3 Comunicazione tramite 3964(R) Disattivazione del collegamento per l'invio Dopo aver trasmesso il contenuto del buffer, la procedura inserisce i caratteri DLE, ETX e solo nel caso del 3964R la somma di controllo del blocco BCC come codice finale e attende un carattere di conferma. Se il partner di comunicazione invia il carattere DLE prima che trascorra il tempo di ritardo conferma, significa che il blocco è stato ricevuto senza errori. Se il partner di comunicazione risponde con NAK, con un altro carattere qualsiasi (eccetto DLE), con un carattere disturbato o se il tempo di ritardo conferma trascorre senza reazione, la procedura ricomincia la trasmissione con l'attivazione del collegamento STX. Una volta eseguito il numero parametrizzato di tentativi di trasmissione, la procedura interrompe l'operazione e invia il carattere NAK al partner di comunicazione. Il modulo di comunicazione emette il relativo messaggio di errore. Manuale di guida alle funzioni, 12/2017, A5E AB 51

53 Configurazione/parametrizzazione 4.3 Comunicazione tramite 3964(R) Ricezione di dati con 3964(R) Creazione del collegamento per la ricezione In stato di riposo, in assenza di un ordine di trasmissione, la procedura attende la creazione del collegamento da parte del partner della comunicazione. Se nel creare il collegamento con STX non è disponibile un buffer di ricezione libero, viene avviato un tempo di attesa (tempo di attesa = tempo di ritardo conferma - 10 ms, max. 400 ms). Se decorso questo tempo non è ancora disponibile un buffer di ricezione libero, viene generato un messaggio di errore. La procedura invia il carattere NAK e ritorna nello stato di riposo. In caso contrario la procedura invia il carattere DLE e riceve i dati come descritto sopra. Il tempo di ritardo conferma dovrebbe essere impostato sullo stesso valore nei due partner di comunicazione. Se la procedura riceve un carattere qualsiasi (eccetto STX o NAK) durante il tempo di riposo, essa attende che trascorra il tempo di ritardo caratteri (ZVZ) e quindi invia il carattere NAK. Il modulo di comunicazione emette il relativo messaggio di errore. Ricezione di dati Dopo un'attivazione del collegamento corretta, i caratteri ricevuti vengono depositati nel buffer di ricezione. Se vengono ricevuti due caratteri DLE consecutivi, nel buffer ne verrà memorizzato solo uno. Una volta attivato il collegamento e dopo ogni carattere ricevuto si attende, durante il tempo di ritardo carattere, il carattere successivo. Se il tempo trascorre senza ricezione, viene inviato al partner di comunicazione il carattere NAK. Il modulo di comunicazione emette il relativo messaggio di errore. Si attende quindi una ripetizione. Se durante la ricezione si verificano errori di trasmissione (errori di struttura carattere, errori di parità ecc.), la ricezione continuerà fino alla disattivazione del collegamento, quindi verrà inviato il carattere NAK al partner di comunicazione. Si attende quindi una ripetizione. Se non è possibile ricevere il blocco correttamente nemmeno dopo il numero di tentativi di trasmissione specificati o se il partner di comunicazione non inizia la ripetizione entro un tempo di attesa del blocco di 4 s, la procedura interrompe la ricezione. Il modulo di comunicazione segnala la prima trasmissione difettosa e l'interruzione definitiva. Disattivazione del collegamento in ricezione Quando la procedura 3964 riconosce la stringa di caratteri DLE ETX, essa termina la ricezione e invia al partner di comunicazione il carattere DLE, a conferma di un blocco ricevuto senza errori. In caso di errore di ricezione viene inviato al partner della comunicazione il carattere NAK Si attende quindi una ripetizione. Se la procedura 3964R riconosce la sequenza di caratteri DLE ETX BCC, essa termina la ricezione. Essa confronta il carattere di controllo del blocco BCC ricevuto con la parità longitudinale generata internamente. Se il carattere di controllo del blocco è corretto e non si sono verificati altri errori di ricezione, la procedura 3964R invia DLE e si riporta nello stato di riposo. Il modulo di comunicazione informa il controllore che sono presenti nuovi dati di ricezione. In caso di errore del carattere BCC o della ricezione viene inviato al partner della comunicazione il carattere NAK. Si attende quindi una ripetizione. 52 Manuale di guida alle funzioni, 12/2017, A5E AB

54 Configurazione/parametrizzazione 4.4 Comunicazione tramite Modbus RTU 4.4 Comunicazione tramite Modbus RTU Procedimento per la configurazione di un collegamento seriale con Modbus RTU Presupposti L'hardware è stato configurato ed è stato stabilito un collegamento elettrico con il partner di accoppiamento. Il progetto è stato creato in STEP 7 (TIA Portal) e la CPU è stata inserita nella configurazione hardware. Procedimento - Configurazione hardware 1. Inserire il modulo di comunicazione CM PtP nella configurazione hardware. 2. Selezionare il protocollo Modbus RTU. Avvertenza: nel Modbus RTU la maggior parte dei parametri di comunicazione vengono impostati all'avvio della CPU con l'istruzione Modbus_Comm_Load. Procedimento - Programmazione 1. Definire la struttura di dati che conterrà i dati da trasmettere. 2. Collegare l'istruzione Modbus_Comm_Load all'esecuzione ciclica per la parametrizzazione del modulo di comunicazione. 3. Collegare l'hwid delle variabili di sistema all'ingresso PORT. 4. Richiamare l'istruzione finché l'uscita DONE non indica che è stata eseguita correttamente. In seguito non richiamarla più, a meno che non si vogliano modificare i parametri di comunicazione. Funzionamento come master Modbus: 1. Inserire l'istruzione Modbus_Master della biblioteca MODBUS (RTU). 2. Collegare la struttura di dati con i dati da inviare nell'ingresso BUFFER. 3. Collegare il DB di istanza dell'istruzione Modbus_Master all'ingresso MB_DB di Modbus_Comm_Load. Avvertenza: durante il funzionamento ogni fronte di salita nell'ingresso REQ elabora una volta l'ordine specificato. Il blocco deve essere richiamato finché DONE non indica che i dati sono stati trasmessi all'unità. Se si verifica un errore, ERROR viene impostato una volta e STATUS informa che i dati non sono stati trasmessi. Manuale di guida alle funzioni, 12/2017, A5E AB 53

55 Configurazione/parametrizzazione 4.4 Comunicazione tramite Modbus RTU Funzionamento come slave Modbus: 1. inserire l'istruzione Modbus_Slave della biblioteca MODBUS (RTU). 2. Collegare la struttura di dati con i registri di mantenimento Modbus. 3. Specificare l'indirizzo slave Modbus nell'ingresso MB_ADDR. 4. Collegare il DB di istanza dell'istruzione Modbus_Master all'ingresso MB_DB di Modbus_Comm_Load. Avvertenza: durante il funzionamento un livello high nell'uscita NDR indica che i dati sono stati ricevuti e memorizzati nell'area dati specificata. 54 Manuale di guida alle funzioni, 12/2017, A5E AB

56 Configurazione/parametrizzazione 4.4 Comunicazione tramite Modbus RTU Panoramica sulla comunicazione Modbus Comunicazione Modbus RTU Modbus RTU (Remote Terminal Unit) è un protocollo standard per la comunicazione in rete che si avvale del collegamento elettrico RS232 o RS422/485 per la trasmissione dei dati seriale tra i dispositivi Modbus nella rete. Modbus RTU utilizza una rete master/slave in cui l'intera comunicazione viene attivata da un unico dispositivo master mentre gli slave possono solo reagire alla richiesta del master. Il master invia una richiesta a un indirizzo slave e solo questo indirizzo slave risponde al comando (eccezione: telegrammi broadcast sull'indirizzo slave 0 che non vengono confermati dagli slave). Viene impiegata una procedura semiduplex asincrona a codice trasparente. La trasmissione dei dati avviene senza handshake. Posizionamento nell'ambiente di sistema La seguente descrizione Modbus si riferisce all'impiego dei moduli di comunicazione corrispondenti. CM PtP RS232 HF CM PtP RS422/485 HF CM PtP (ET 200SP) Funzione dell'accoppiamento Con i moduli di comunicazione opportuni e le rispettive istruzioni è possibile creare un collegamento di comunicazione tra un sistema di controllo remoto Modbus e un sistema SIMATIC S7. Per la trasmissione viene utilizzato il protocollo GOULD - MODBUS in formato RTU. Per la comunicazione tra un modulo di comunicazione utilizzato come slave Modbus e un sistema master è possibile utilizzare i codici funzione 01, 02, 03, 04, 05, 06, 08, 15 e 16 (vedere Codici funzione (Pagina 59)). Se si utilizza un modulo di comunicazione SIMATIC S7 come master Modbus sono disponibili anche i codici funzione 11 e 12. SIMATIC S7 come slave Modbus Il master ha l'iniziativa della trasmissione, il modulo di comunicazione funge da slave. Lo scambio di telegrammi da slave a slave non è possibile. L'istruzione Modbus_Slave mette a disposizione i dati in un'area dati SIMATIC secondo la relazione di mappatura oppure li memorizza. Manuale di guida alle funzioni, 12/2017, A5E AB 55

57 Configurazione/parametrizzazione 4.4 Comunicazione tramite Modbus RTU SIMATIC S7 come master Modbus Il modulo di comunicazione inizializza la trasmissione in quanto master e dopo l'emissione del telegramma di richiesta attende un telegramma di risposta dallo slave per il tempo di controllo risposta parametrizzato. Se lo slave non risponde, prima di restituire un messaggio di errore il master ripete la richiesta in base alla parametrizzazione. Struttura del telegramma Il traffico dei dati "master-slave" o "slave-master" inizia con l'indirizzo slave, seguito dal codice della funzione. Quindi i dati vengono trasmessi. La struttura dei campi dati dipende dal codice della funzione utilizzato. Alla fine del telegramma viene trasmesso il check CRC. ADDRESS FUNCTION DATA CRC-CHECK Byte/parola byte n byte 2 byte ADDRESS Indirizzo slave Modbus Indirizzo standard: (byte) Indirizzo esteso della stazione: (parola) FUNCTION Modbus Codici funzione (Pagina 59) DATA Dati telegramma: dati di gestione e dati netti che dipendono dal codice della funzione CRC-CHECK Somma di controllo telegramma Indirizzo slave L'indirizzo slave può rientrare nel campo da 1 a 247 (byte) o da 1 a (parola). Con l'indirizzo viene interrogato uno slave definito nel bus. Broadcast Message Con indirizzo slave zero il master interroga tutti gli slave nel bus. I messaggi Broadcast sono ammessi solo in combinazione con i codici funzione 05, 06, 15 o 16 in scrittura. In caso di Broadcast-Message lo slave non invia alcun telegramma di risposta. Campo dati DATA Nel campo dati DATA vengono trasmessi i dati specifici del codice funzione: Bytecount, Coil_Startaddress, Register_Startaddress; Number_of_Coils, Number_of_Registers,... Vedere in proposito il capitolo "Codici funzione (Pagina 59)". 56 Manuale di guida alle funzioni, 12/2017, A5E AB

58 Configurazione/parametrizzazione 4.4 Comunicazione tramite Modbus RTU Controllo CRC La conclusione del telegramma genera la somma di controllo 16 CRC di due byte, formata in base al polinomio x 16 + x 15 + x Prima viene trasmesso il Low-Byte, quindi l'high-byte. Fine del telegramma La fine del telegramma viene riconosciuta se durante l'intervallo di tempo necessario per la trasmissione di tre caratteri e mezzo (tempo di ritardo del carattere per 3,5) non avviene nessuna trasmissione (vedere la Guida di riferimento del protocollo Modbus). Questo TIME_OUT della fine del telegramma dipende quindi dalla velocità di trasmissione dei dati e viene indicato in bit time (internamente sono codificati in modo fisso 35 bit time); è possibile parametrizzare altri bit time nell'istruzione). Funzionamento normale:all'arrivo del TIME_OUT di fine telegramma, il telegramma Modbus ricevuto dal partner di collegamento viene analizzato e controllato sul piano della forma. Exception Responses Quando lo slave riconosce un errore nel telegramma di richiesta del master, ad esempio, un indirizzo di registro non ammesso, imposta il bit con valore maggiore nel codice funzione del telegramma di risposta. Quindi viene trasmesso un byte Exception Code che descrive la causa dell'errore. Il significato del parametro citato è riportato nella descrizione "GOULD MODICON Modbus Protocol" (non fa parte della presente documentazione). Exception Code Telegramm L'Exception Code Telegramm dello slave presenta la seguente struttura: ad es. indirizzo slave 5, codice funzione 5, Exception Code 2 Telegramma di risposta da slave EXCEPTION_CODE_xx: 05H Indirizzo slave 85H Codice di funzione 02H Exception Code (1...7) xxh Codice di controllo CRC "Low" xxh Codice di controllo CRC "High" Quando il driver riceve un Exception Code Telegramm l'ordine corrente con errore viene terminato. Manuale di guida alle funzioni, 12/2017, A5E AB 57

59 Configurazione/parametrizzazione 4.4 Comunicazione tramite Modbus RTU I seguenti codici di errore sono definiti secondo la specifica Modbus: Codice di errore Significato secondo la specifica Modbus Causa - Descrizione sintetica * 1 Illegal function Codice funzione non ammesso 2 Illegal data address Indirizzo dati non ammesso in slave 3 Illegal data value Valore dati non ammesso in slave 4 Failure in associated device Errore interno in slave 5 Acknowledge La funzione viene eseguita 6 Busy, Rejected message Slave non pronto alla ricezione 7 Negative acknowledgement Funzione non eseguibile * Ricercare i dettagli della causa in slave. Funzionamento RS232 Il funzionamento RS232 è possibile con i seguenti moduli di comunicazione: CM PtP RS232 HF CM PtP (ET 200SP) Per informazioni sul funzionamento RS232 vedere il capitolo Funzionamento RS232 (Pagina 23). Per informazioni sul controllo del flusso dati hardware e l'utilizzo automatico dei segnali addizionali consultare il capitolo Handshake (Pagina 32). Funzionamento RS422/485 Il funzionamento RS422/485 è possibile con i seguenti moduli di comunicazione: CM PtP RS422/485 HF CM PtP (ET 200SP) Per informazioni sul funzionamento RS422/485 vedere i capitoli Funzionamento RS422 (Pagina 26) e Funzionamento RS485 (Pagina 29). FAQ Ulteriori informazioni sono disponibili nelle seguenti FAQ alla sezione Siemens Industry Online Support: ID articolo: ( ID articolo: ( 58 Manuale di guida alle funzioni, 12/2017, A5E AB

60 Configurazione/parametrizzazione 4.4 Comunicazione tramite Modbus RTU Codici funzione Codici funzione utilizzati Il codice funzione definisce il significato del telegramma. Tramite il codice funzione viene stabilita anche la struttura del telegramma. Il modulo di comunicazione supporta i seguenti codici funzione: Codice Funzione secondo specifica MODBUS Campo funzione 01 Read Coil Status bit/richiesta 02 Read Input Status bit/richiesta 03 Read Holding Registers /125 bit/richiesta (124 in caso di indirizzo di stazione esteso) 04 Read Input Registers /125 bit/richiesta (124 in caso di indirizzo di stazione esteso) 05 Force Single Coil 1 bit/richiesta 06 Preset Single Register 1 parola/richiesta 08 * Loop Back Test Lettura dello stato dello slave o reset del contatore degli eventi nello slave 11 * Fetch Communications Event Counter (solo master) - 15 Force Multiple Coils bit/richiesta 16 Preset Multiple Registers bit/richiesta * Informazioni di diagnostica per la comunicazione dello slave Il codice funzione Modbus 00 invia un messaggio Broadcast a tutti gli slave (senza risposta dello slave). Manuale di guida alle funzioni, 12/2017, A5E AB 59

61 Configurazione/parametrizzazione 4.4 Comunicazione tramite Modbus RTU Assegnazione degli indirizzi Modbus agli indirizzi SIMATIC La seguente tabella elenca gli indirizzi Modbus assegnati agli indirizzi SIMATIC. Modbus S FC 1) Funzione Dichiarazione Area di indirizzi Dichiarazione Indirizzo CPU 01 Leggi bit Output Immagine di processo delle A0.0 - A uscite 02 Leggi bit Input Immagine di processo degli ingressi I0.0 - E ) Leggi parole Holding Register oppure DW0 - DW19998 o DW0 - DW Leggi parole Input Immagine di processo degli ingressi 05 2) Scrivi bit Output Immagine di processo delle uscite 06 Scrivi parole Holding Register oppure DW0 - DW19998 o DW0 - DW Scrivi bit Output Immagine di processo delle uscite 16 2) Scrivi parole Holding Register oppure DW0 - DW19998 o DW0 - DW L'area di indirizzi M dipende dalla CPU IW0 - IW19996 Q0.0 - Q L'area di indirizzi M dipende dalla CPU A0.0 - A L'area di indirizzi M dipende dalla CPU 1) FC = codice funzione 2) Il valore di HR_Start_Offset consente di stabilire se gli FC 03, 05 e 16 verranno usati per indirizzare aree di dati o di merker della CPU SIMATIC. 60 Manuale di guida alle funzioni, 12/2017, A5E AB

62 Configurazione/parametrizzazione 4.5 Comunicazione tramite USS 4.5 Comunicazione tramite USS Procedimento per la configurazione di un collegamento seriale con Modbus USS Presupposti L'hardware è stato configurato ed è stato stabilito un collegamento elettrico con il partner di accoppiamento. Il progetto è stato creato in STEP 7 (TIA Portal) e la CPU è stata inserita nella configurazione hardware. Procedimento - Configurazione hardware 1. Inserire il modulo di comunicazione CM PtP nella configurazione hardware. 2. Selezionare il protocollo Freeport e impostare i parametri di comunicazione. Avvertenza: la funzionalità USS viene realizzata dalle istruzioni. Procedimento - Programmazione 1. Inserire l'istruzione USS_Port_Scan della biblioteca USS Communication. 2. Collegare l'hwid delle variabili di sistema all'ingresso PORT. 3. Inserire l'istruzione USS_Drive_Control della biblioteca USS Communication. 4. Collegare la struttura di dati USS_DB del DB di istanza dell'istruzione USS_Drive_Control all'ingresso USS_DB dell'istruzione USS_Port_Scan. La struttura contiene i dati da trasmettere per tutti gli azionamenti. 5. Inserire un richiamo dell'istruzione USS_Drive_Control per ogni altro asse che verrà collegato attraverso questa interfaccia USS. Utilizzare sempre lo stesso DB di istanza. Per distinguere i DB di istanza indicare l'indirizzo USS nell'ingresso DRIVE dell'istruzione USS_Drive_Control. In questo modo nei parametri di ciascun richiamo saranno disponibili i dati di comando e di feedback per i diversi azionamenti. Manuale di guida alle funzioni, 12/2017, A5E AB 61

63 Configurazione/parametrizzazione 4.5 Comunicazione tramite USS Panoramica della comunicazione USS Posizionamento nell'ambiente di sistema La seguente descrizione USS si riferisce all'impiego dei moduli di comunicazione corrispondenti. CM PtP RS232 BA CM PtP RS422/485 BA CM PtP RS232 HF CM PtP RS422/485 HF CM PtP (ET 200SP) Introduzione Il protocollo USS (Universal Serial Interface Protocol) è un semplice protocollo di trasmissione dati seriale concepito appositamente per rispondere ai requisiti della tecnica di azionamento. Il protocollo USS definisce una tecnica di accesso secondo il principio masterslave per la comunicazione mediante un bus seriale. Al bus si possono collegare un master e fino a 16 azionamenti (slave). I singoli azionamenti vengono scelti dal master con l'aiuto di un carattere dell'indirizzo nel telegramma. Un azionamento non può mai trasmettere senza prima essere stato avviato dal master. Non è quindi possibile una trasmissione diretta dei dati tra singoli azionamenti. La comunicazione funziona in semiduplex. La funzione di master non può essere trasferita. La tecnica di azionamento richiede tempi di reazione ben definiti per i compiti di controllo e regolazione da gestire e quindi uno scambio di telegrammi rigidamente ciclico. Il master invia continuamente telegrammi agli azionamenti (telegrammi d'ordine) e attende sempre un telegramma di risposta da ciascuno degli azionamenti indirizzati. Un azionamento deve inviare un telegramma di risposta se ha ricevuto un telegramma senza errori e se era indirizzato in questo telegramma. Un azionamento non deve rispondere se queste condizioni non sono soddisfatte o se è stato indirizzato in broadcast. Il master considera attivo il collegamento con un azionamento se dopo un determinato tempo di elaborazione (tempo di ritardo risposta) riceve un telegramma di risposta dall'azionamento. 62 Manuale di guida alle funzioni, 12/2017, A5E AB

64 Configurazione/parametrizzazione 4.5 Comunicazione tramite USS Struttura del telegramma Ogni telegramma comincia con il carattere iniziale (STX) seguito dall'indicazione della lunghezza (LGE) e dal byte di indirizzo (ADR). Quindi segue il campo dati. Il telegramma si conclude con il carattere di controllo blocco (BCC). La lunghezza del telegramma è data dai dati utili (numero n), dal byte di indirizzo (ADR) e dal carattere di protezione dei dati (BCC). STX LGE ADR N BCC Nel caso dei dati costituiti da una parola (16 bit), viene inviato prima il byte superiore, seguito da quello inferiore. In base allo stesso principio, nel caso dei dati a doppia parola viene inviata prima la parola superiore e poi quella inferiore. La lunghezza dei telegrammi viene indicata in byte. Cifratura dei dati I dati vengono cifrati nella maniera seguente: STX: 1 byte, inizio testo, 02H LGE: 1 byte, contiene la lunghezza del telegramma come numero binario ADR: 1 byte, contiene l'indirizzo slave e il tipo di telegramma, a codice binario Campi dati: un byte ciascuno, contenuto dipendente dal task BCC: 1 byte, carattere di controllo del blocco Procedura di trasmissione dei dati Il master provvede alla trasmissione ciclica dei dati in telegrammi. Il master indirizza tutti i nodi slave uno dopo l'altro con un telegramma di task. I nodi indirizzati rispondono con un telegramma di risposta. Secondo la procedura masterslave, lo slave deve inviare il telegramma di risposta al master dopo aver ricevuto il telegramma di task. Solo a quel punto il master può indirizzare lo slave successivo. Manuale di guida alle funzioni, 12/2017, A5E AB 63

65 Configurazione/parametrizzazione 4.5 Comunicazione tramite USS Campo dati nel telegramma Il campo dati è suddiviso in due aree: Parametri (PKW) e dati di processo (PZD). STX LGE ADR Parametri (PKW) Dati di processo (PZD) BCC Area parametri (PKW) L'area PKW gestisce il trasferimento di parametri tra due partner di comunicazione (p. es. controllore e azionamento). Ciò comprende p. es. la lettura e la scrittura dei valori dei parametri, nonché la lettura delle descrizioni dei parametri e il rispettivo testo. L'interfaccia PKW comprende in generale i task di comando e visualizzazione, manutenzione e diagnostica. Area dati di processo (PZD) L'area PZD comprende i segnali necessari per l'automazione: Parole di comando e valori di riferimento dal master allo slave Parole di stato e valori attuali dallo slave al master Il contenuto dell'area parametri e dell'area dati di processo viene definito dagli azionamenti slave. Per maggiori informazioni, consultare la documentazione dell'azionamento Panoramica funzioni Sequenza di trasmissione Le istruzioni eseguono la trasmissione dei dati ciclicamente con max. 16 azionamenti slave. Per ogni azionamento è attivo solo un ordine per volta. Caratteristiche prestazionali: Creazione di aree dati per la comunicazione a seconda della configurazione di bus Esecuzione e controllo di ordini PKW Controllo del sistema complessivo e trattamento degli errori Comunicazione con la CPU Accesso alle funzioni dell'azionamento Lettura dei parametri dell'azionamento Scrittura dei parametri dell'azionamento 64 Manuale di guida alle funzioni, 12/2017, A5E AB

66 5 5.1 Panoramica della programmazione PtP Scambio di dati tramite comunicazione Freeport o 3964 (R) I dati di invio devono essere messi a disposizione nei blocchi dati o nell'area di merker del programma utente della rispettiva CPU. Per i dati di ricezione è disponibile, nel modulo di comunicazione, un buffer di ricezione. Nella CPU viene configurato un rispettivo blocco dati. Nel programma utente della CPU le seguenti istruzioni comandano il trasferimento dei dati tra CPU e modulo di comunicazione. Send_P2P Receive_P2P L'istruzione Receive_Reset consente di cancellare il buffer di ricezione. Progettazione dinamica tramite il programma utente In alternativa o a completamento della parametrizzazione dell'interfaccia del modulo di comunicazione descritta nel capitolo Configurazione/parametrizzazione di un modulo di comunicazione (Pagina 37) in alcuni campi di applicazione può essere utile configurare una comunicazione dinamica, ovvero una comunicazione comandata da un'applicazione specifica. Tutte le parametrizzazione effettuate nella finestra delle proprietà del modulo di comunicazione possono essere modificate, anche durante l'esecuzione, con l'ausilio di una delle seguenti istruzioni "Config". Port_Config, Send_Config, Receive_Config, P3964_Config Manuale di guida alle funzioni, 12/2017, A5E AB 65

67 5.1 Panoramica della programmazione PtP Sequenze di richiamo del programma per la comunicazione PtP Il grafico seguente mostra la funzione delle istruzioni PtP per lo svolgimento della comunicazione tra programma utente e partner della comunicazione. Istruzioni PtP Applicazione Istruzione Descrizione Scambio dati tra CPU, modulo di comunicazione e partner di comunicazione (comunicazione) Send_P2P (Pagina 91) L'istruzione Send_P2P (ricezione dei dati punto a punto) consente di trasmettere i dati al partner della comunicazione. Per la trasmissione dei dati con il protocollo Freeport si deve richiamare l'istruzione Send_P2P. Il richiamo deve essere ripetuto ciclicamente finché non si riceve la conferma corrispondente nei parametri di uscita dell'istruzione. Avvertenza: Con la parametrizzazione del controllo del flusso dati XON/XOFF, i dati utili non devono contenere nessuno dei caratteri XON o XOFF parametrizzati. L'impostazione di default è DC1 = 11H per XON e DC3 = 13H per XOFF. 66 Manuale di guida alle funzioni, 12/2017, A5E AB

68 5.1 Panoramica della programmazione PtP Applicazione Istruzione Descrizione Eliminazione del buffer di ricezione Parametrizzazione dinamica dell'interfaccia o del protocollo (opzionale) Gestione dei segnali addizionali RS232 Attiva allarme di diagnostica e supporto CRC Modbus Receive_P2P (Pagina 95) Receive_Reset (Pagina 97) Port_Config (Pagina 77) Send_Config (Pagina 81) Receive_Config (Pagina 83) P3964_Config (Pagina 89) Signal_Get (Pagina 98) Signal_Set (Pagina 100) Get_Features (Pagina 102) Set_Features (Pagina 104) L'istruzione Receive_P2P (ricezione dei dati punto a punto) consente di recuperare i messaggi ricevuti da un partner nel modulo di comunicazione. Per la ricezione dei dati con il protocollo Freeport si deve richiamare ciclicamente l'istruzione Receive_P2P. L'istruzione indica nel parametro NDR se sono presenti nuovi dati di ricezione. Per segnalare al ricevente quando inizia e quando finisce la trasmissione di un messaggio, è necessario definire dei criteri nel protocollo Freeport che contrassegnano l'inizio e la fine di un messaggio. L'istruzione Receive_Reset (cancella buffer di ricezione) consente di cancellare il buffer di ricezione del modulo di comunicazione. L'istruzione Port_Config (configurazione porta) consente di definire attraverso il programma utente i parametri dinamici basilari dell'interfaccia, quali la velocità di trasmissione, la parità e il controllo del flusso dei dati. L'istruzione Send_Config (parametrizzazione della trasmissione) consente di definire dei parametri di trasmissione seriali dinamici per un'interfaccia di comunicazione PtP, quali Ritardo RTS ON/Ritardo RTS OFF. L'istruzione Receive_Config (parametrizzazione della ricezione) consente di definire dei parametri di ricezione seriali dinamici per un moduli di comunicazione. Questa istruzione parametrizza le condizioni che indicano l'inizio e la fine dei messaggi ricevuti. L'istruzione P3964_Config (configurazione del protocollo) consente di parametrizzare con il programma utente i parametri del protocollo della procedura 3964(R), quali il tempo di ritardo intercarattere, la priorità e la verifica blocco. L'istruzione Signal_Get (richiamo dei segnali RS232) consente di leggere gli stati attuali dei segnali RS232. L'istruzione Signal_Set (richiamo dei segnali RS232) consente di impostare gli stati dei segnali RS232 DTR e RTS. L'istruzione Get_Features(impostazione di funzioni ampliate) consente di richiamare informazioni mediante il supporto Modbus e informazioni per la generazione di messaggi di diagnostica. Con l'istruzione Set_Features (impostazione di funzioni ampliate) è possibile attivare la generazione di messaggi di diagnostica, se supportata dal modulo. Procedura di configurazione della comunicazione Freeport o 3964 (R) Presupposto: La configurazione e la parametrizzazione di una CPU e di un modulo di comunicazione effettuate nella vista dispositivi e nella finestra delle proprietà del modulo di comunicazione sono terminate. 1. Nella navigazione del progetto selezionare per la CPU la cartella "Blocchi di programma" in cui aprire l'main (OB1) con un doppio clic. Si apre l'editor di programma. 2. Nella task card "Istruzioni", area "Comunicazione" selezionare ad es. le istruzioni Send_P2P und Receive_P2P e trascinarle per drag & drop in una rete dell'main (OB1). 3. Parametrizzare le istruzioni in base alle preimpostazioni effettuate. 4. Caricare la configurazione hardware e il programma utente nella CPU. Manuale di guida alle funzioni, 12/2017, A5E AB 67

69 5.2 Panoramica della programmazione Modbus 5.2 Panoramica della programmazione Modbus Sequenze di richiamo del programma per la comunicazione Modbus Il grafico seguente mostra la funzione delle istruzioni Modbus per lo svolgimento della comunicazione tra programma utente e dispositivo Modbus. (Le istruzioni Send_P2P, Receive_P2P e l'istruzione Config sono necessarie in via subordinata). Istruzioni Modbus Applicazione Istruzione Descrizione Scambio dati tra programma utente Modbus_Master (Pagina 131) L'istruzione Modbus_Master consente di comunicare attraverso la porta PtP in qualità di master Modbus. e dispositivo Modbus (comunicazio- master Modbus RTU per la comunicazione con uno o più dispositivi slave L'istruzione Modbus_Master consente di utilizzare la CPU come dispositivo ne) Modbus. Parametrizzazione dell'interfaccia e del protocollo (obbligatoria) Modbus_Slave (Pagina 139) Modbus_Comm _Load (Pagina 126) L'istruzione Modbus_Slave consente di comunicare attraverso la porta PtP in qualità di slave Modbus. L'istruzione Modbus_Slave consente di utilizzare la CPU come dispositivo slave Modbus RTU per la comunicazione con un dispositivo master Modbus. L'istruzione Modbus_Comm_Load consente di configurare la porta del modulo di comunicazione per Modbus RTU. È necessario eseguire Modbus_Comm_Load per configurare i parametri PtP della porta come velocità di trasmissione, parità e controllo di flusso. Una volta configurata, l'interfaccia per il protocollo Modbus RTU può essere utilizzata solo dall'istruzione Modbus_Master o Modbus_Slave. Nota Utilizzo alternativo di Modbus_Slave e Modbus_Master Un modulo di comunicazione può essere utilizzato come master o come slave. 68 Manuale di guida alle funzioni, 12/2017, A5E AB

70 5.3 Panoramica della programmazione USS Procedura di configurazione della comunicazione Modbus Presupposto: La configurazione e la parametrizzazione di una CPU e di un modulo di comunicazione effettuate nella vista dispositivi e nella finestra delle proprietà del modulo di comunicazione sono terminate. 1. Nella navigazione del progetto selezionare per la CPU la cartella "Blocchi di programma" in cui aprire l'main (OB1) con un doppio clic. Si apre l'editor di programma. 2. Nella task card "Istruzioni", area "Comunicazione" selezionare le istruzioni per la comunicazione Modbus in funzione del compito e trascinarle per drag & drop in una rete del Main (OB1). L'istruzione Modbus_Comm_Load consente di configurare la porta del CM per la comunicazione Modbus. L'istruzione Modbus_Comm_Load deve essere richiamata nel Main (OB1) finché non viene segnalato DONE (o ERROR). L'istruzione Modbus_Master viene utilizzata per la funzionalità del master Modbus. L'istruzione Modbus_Slave viene utilizzata per la funzionalità dello slave Modbus. 3. Parametrizzare le istruzioni in base alle preimpostazioni effettuate. 4. Caricare la configurazione hardware e il programma utente nella CPU. Manuale di guida alle funzioni, 12/2017, A5E AB 69

71 5.3 Panoramica della programmazione USS 5.3 Panoramica della programmazione USS Sequenze di richiamo del programma per la comunicazione USS Il grafico seguente mostra la funzione delle istruzioni USS per lo svolgimento della comunicazione tra programma utente e azionamento USS. (Le istruzioni Send_P2P, Receive_P2P e l'istruzione Config sono necessarie in via subordinata). Istruzioni USS Applicazione Istruzione Descrizione Scambio dati tra CPU, modulo di comunicazione e azionamento USS USS_Port_Scan (Pagina 181) L'istruzione USS_Port_Scanconsente di comunicare con max. 16 drive tramite un modulo di comunicazione e una rete USS (deve essere richiamata ciclicamente). L'istruzione USS_Port_Scan controlla la comunicazione tra la CPU e gli azionamenti attraverso la porta di comunicazione PtP. A ogni richiamo di questa funzione viene elaborata una comunicazione con un azionamento. L'istruzione USS_Port_Scan deve essere utilizzata una sola volta. Poiché la maggior parte degli azionamenti dispone di una funzione interna parametrizzabile che controlla l'integrità della comunicazione mediante un timeout, l'istruzione USS_Port_Scandeve essere richiamata da un OB comandato a tempo. 70 Manuale di guida alle funzioni, 12/2017, A5E AB

72 5.3 Panoramica della programmazione USS Applicazione Istruzione Descrizione Scambio dati con l'azionamento USS Lettura o modifica dei parametri nell'azionamento USS USS_Drive_Control (Pagina 185) USS_Read_Param (Pagina 190) USS_Write_Param (Pagina 193) L'istruzione USS_Drive_Controlconsente di preparare i dati di trasmissione per un azionamento e di visualizzare i dati di ricezione. Gli ingressi e le uscite dell'istruzione corrispondono agli stati e alle funzioni di comando dell'azionamento. L'istruzione USS_Drive_Controldeve essere richiamata una volta per ogni azionamento. È necessario un unico DB di istanza comune per tutti i richiami dell'istruzione USS_Drive_Control relativi a una rete USS. Interconnettere allo stesso DB di istanza tutti i richiami dell'istruzione USS_Drive_Control per una rete USS. L'istruzione USS_Drive_Control deve essere richiamata dal Main (OB1) ciclico del programma principale. L'istruzione USS_Read_Param consente di leggere parametri dall'azionamento. Con l'istruzione USS_Read_Paramsi leggono i parametri di esercizio dell'azionamento che comandano le funzioni interne dell'azionamento. L'istruzione USS_Read_Param deve essere richiamata dal Main (OB1) ciclico del programma principale. L'istruzione USS_Write_Param consente di modificare parametri nell'azionamento. L'istruzione deve essere richiamata dal USS_Write_Param ciclico (OB1) del programma principale. Procedura di configurazione della comunicazione USS Presupposto: La configurazione e la parametrizzazione di una CPU e di un modulo di comunicazione effettuate nella vista dispositivi e nella finestra delle proprietà del modulo di comunicazione sono terminate. 1. Nella navigazione del progetto selezionare per la CPU la cartella "Blocchi di programma" in cui aprire con un doppio clic l'ob comandato a tempo desiderato. Si apre l'editor di programma. 2. Nella task card "Istruzioni", area "Comunicazione" selezionare l'istruzione USS_Port_Scan e trascinarla per drag & drop in una rete dell'ob comandato a tempo. L'istruzione USS_Port_Scan consente la comunicazione attraverso la rete USS. 3. Nella navigazione del progetto selezionare per la CPU la cartella "Blocchi di programma" in cui aprire l'main (OB1) con un doppio clic. Si apre l'editor di programma. 4. Nella task card "Istruzioni", area "Comunicazione" selezionare le istruzioni per la comunicazione USS in funzione del compito e trascinarle per drag & drop in una rete del Main (OB1). L'istruzione USS_Drive_Control consente lo scambio di dati con l'azionamento. L'istruzione USS_Read_Param consente la lettura dei parametri dell'azionamento. L'istruzione USS_Write_Param consente la modifica dei parametri dell'azionamento. 5. Parametrizzare le istruzioni in base alle preimpostazioni effettuate. 6. Caricare la configurazione hardware e il programma utente nella CPU. Manuale di guida alle funzioni, 12/2017, A5E AB 71

73 5.4.1 Punto a punto Panoramica della comunicazione Freeport STEP 7 offre funzioni avanzate con le quali è possibile realizzare la comunicazione Freeport attraverso un protocollo predefinito nel programma utente. Queste istruzioni si suddividono in due categorie: Istruzioni di configurazione Istruzioni di comunicazione Nota Limiti di configurazione della CPU Le istruzioni Freeport comunicano con i moduli di comunicazione attraverso la lettura o la scrittura di set di dati. Per l'uso delle istruzioni perciò è necessario attenersi ai limiti di configurazione della CPU in uso per la lettura e la scrittura dei set di dati. Se diverse istruzioni devono leggere o scrivere contemporaneamente dei set di dati su una CPU, il programma utente deve eventualmente richiamarle consecutivamente. Istruzioni di configurazione Prima che il programma utente possa avviare la comunicazione Freeport è necessario configurare l'interfaccia di comunicazione e i parametri per la trasmissione e la ricezione dei dati. L'interfaccia e i dati si possono configurare per ciascun CM nella configurazione dispositivi o con le seguenti istruzioni del programma utente: Port_Config (Pagina 77) Send_Config (Pagina 81) Receive_Config (Pagina 83) P3964_Config (Pagina 89) ATTENZIONE Configurazione dispositivo <-> istruzioni di configurazione Con ogni Power On della CPU (ripristino della tensione) i parametri della configurazione del dispositivo vengono trasferiti al CM. I parametri delle istruzioni di configurazione vengono trasferiti al CM in base al programma utente. I parametri della configurazione del dispositivo non sono sincronizzati con quelli delle istruzioni della configurazione, in altri termini i parametri delle istruzioni di configurazione non vengono applicati alla configurazione del dispositivo della CPU. Attraverso il programma utente è possibile decidere quando e quali parametri devono essere attivi nel CM. 72 Manuale di guida alle funzioni, 12/2017, A5E AB

74 Istruzioni di comunicazione Con le istruzioni per la comunicazione Freeport il programma utente può inviare dati alle interfacce di comunicazione e ricevere dati da queste ultime. I CM inviano e ricevono dati ai/dai nodi della comunicazione. Send_P2P (Pagina 91) Receive_P2P (Pagina 95) Nota Coerenza dei dati Per trasmettere i dati mantenendone la coerenza non è consentito modificarli con l'istruzione Send_P2P tra il fronte di salita del parametro REQ e l'impostazione di DONE. Per leggere i dati di ricezione in modo coerente, i dati devono essere analizzati solo nel ciclo in cui NDR = TRUE. Con ulteriori istruzioni è possibile resettare il buffer di ricezione e interrogare e impostare speciali segnali RS232. Receive_Reset (Pagina 97) Signal_Get (Pagina 98) Signal_Set (Pagina 100) Con le seguenti istruzioni è possibile leggere o scrivere funzioni avanzate, se supportate dal modulo. Get_Features (Pagina 102) Set_Features (Pagina 104) Tutte le istruzioni Freeport sono asincrone. Le istruzioni perciò devono essere richiamate finché il parametro di uscita DONE non indica che l'esecuzione è completata. Con l'aiuto di un'architettura di interrogazione il programma utente può rilevare lo stato della trasmissione e della ricezione. Send_P2P e Receive_P2P possono essere eseguite contemporaneamente. I moduli di comunicazione salvano temporaneamente i dati di trasmissione e ricezione secondo necessità fino a una dimensione max. del buffer specifica del modulo. Nota Risoluzione in bit time Per diversi parametri nella velocità di trasmissione dati configurata viene indicato il numero di bit time. Indicare il parametro in bit time permette di avere un parametro indipendente dalla velocità di trasmissione dati. Tutti i parametri con l'unità in bit time si possono indicare con un numero max. di Manuale di guida alle funzioni, 12/2017, A5E AB 73

75 Utilizzo delle istruzioni Le istruzioni Freeport devono essere richiamate ciclicamente per rilevare la presenza di dati ricevuti o la fine della trasmissione. A seconda della quantità di dati, la trasmissione può richiedere diversi richiami (cicli di programma). Se l'ordine è stato eseguito con DONE = TRUE o NDR = TRUE significa che è stato eseguito senza errori. Nota Salvataggio di STATUS I parametri DONE, NDR, ERROR e STATUS sono presenti solo per un ciclo di blocco. Per visualizzare STATUS è perciò necessario copiarlo in un'area dati libera. master Tipica sequenza per un master: 1. L'istruzione Send_P2P determina una trasmissione al CM. La trasmissione dati viene avviata con un fronte di salita nell'ingresso REQ. 2. L'istruzione Send_P2P viene eseguita in cicli consecutivi per interrogare lo stato della trasmissione. 3. Se l'istruzione Send_P2P segnala la fine della trasmissione nell'uscita DONE, il codice utente può preparare la ricezione della risposta. 4. L'istruzione Receive_P2P viene eseguita ripetutamente per verificare la presenza di una risposta. Se il CM ha rilevato i dati di risposta l'istruzione Receive_P2P copia la risposta nella CPU e segnala nell'uscita NDR che sono stati ricevuti nuovi dati. 5. Il programma utente può elaborare la risposta. 6. Ritorno al passo 1 e ripetizione della sequenza. slave Tipica sequenza per uno slave: 1. Il programma utente esegue l'istruzione Receive_P2P in ogni ciclo. 2. Se il CM ha ricevuto una richiesta, l'istruzione Receive_P2P segnala nell'uscita NDR che sono pronti nuovi dati e la richiesta viene copiata nella CPU. 3. Il programma utente elabora la richiesta e genera una risposta. 4. Con l'istruzione Send_P2P viene reinviata la risposta al master. 5. L'istruzione Send_P2P deve essere eseguita ripetutamente per garantire che la trasmissione abbia luogo. 6. Ritorno al passo 1 e ripetizione della sequenza. Lo slave deve far sì che l'istruzione Receive_P2P venga richiamata un numero di volte sufficiente da poter ricevere una trasmissione dal master prima che questo interrompa l'operazione perché scade il timeout nell'attesa di una risposta. A questo scopo il programma utente può richiamare Receive_P2P da un OB di ciclo il cui tempo di ciclo sia sufficientemente breve per ricevere una trasmissione dal master prima che scada il timeout impostato. Se il tempo di ciclo impostato per l'ob è tale da consentire due esecuzioni entro il timeout impostato del master il programma utente può ricevere tutte le trasmissioni senza perdite di dati. 74 Manuale di guida alle funzioni, 12/2017, A5E AB

76 Parametri comuni per operazioni Freeport Tabella 5-1 Parametri di ingresso comuni delle istruzioni Freeport Parametri REQ PORT Descrizione La trasmissione dati viene avviata con un fronte di salita sull'ingresso REQ. Un ulteriore fronte di salita su REQ può essere creato solo una volta terminato l'ordine (DONE o ERROR). A seconda della quantità dei dati, una trasmissione può richiedere diversi richiami (cicli di programma). Se si inserisce un'istruzione Freeport nel programma, STEP 7 chiederà di indicare il DB di istanza (o di far creare a STEP 7 un opportuno DB di istanza). Utilizzare un DB univoco per ogni richiamo di un'istruzione PtP. Un indirizzo di porta viene assegnato durante la configurazione del modulo di comunicazione. Il parametro PORT comunica all'istruzione l'assegnazione a un determinato modulo di comunicazione. Dopo la configurazione è possibile selezionare un nome simbolico per la porta standard. Il valore della porta CM assegnata è la proprietà "ID hardware" della configurazione del dispositivo nell's7-1200/1500 o l'"indirizzo di ingresso" nell's7-300/400. Il nome simbolico della porta viene assegnato nella tabella dei simboli. I parametri di uscita DONE, NDR, ERROR e STATUS delle istruzioni Freeport indicano lo stato di esecuzione delle funzioni Freeport. Tabella 5-2 Parametri di uscita DONE, NDR, ERROR e STATUS Parametri Tipo di dati Standard Descrizione DONE Bool FALSE Viene impostato su TRUE per la durata di un ciclo per indicare che l'ultima richiesta si è conclusa senza errori; altrimenti è FALSE. NDR Bool FALSE Viene impostato su TRUE per la durata di un ciclo per indicare che sono stati ricevuti nuovi dati; altrimenti è FALSE. ERROR Bool FALSE Viene impostato su TRUE per la durata di un ciclo per indicare che l'ultima richiesta si è conclusa con errori; il codice di errore corrispondente si trova in STATUS; altrimenti è FALSE. STATUS Word 16#0000 o 16#7000 Stato risultante: Se è stato impostato il bit DONE o NDR, STATUS viene impostato su 0/16#7000 oppure su un codice di errore specifico. Se viene impostato il bit ERROR, su STATUS viene visualizzato un codice di errore. Se non viene impostato nessuno di questi bit l'istruzione può restituire stati che descrivono lo stato attuale della funzione. Il valore in STATUS è valido fino al richiamo successivo di questa istruzione (con un unico indirizzo di porta). Manuale di guida alle funzioni, 12/2017, A5E AB 75

77 Tabella 5-3 Parametro di transito COM_RST Parametri Tipo di dati Standard Descrizione COM_RST Bool FALSE Inizializzazione dell'istruzione Con TRUE l'istruzione viene inizializzata. Quindi COM_RST viene reimpostato su FALSE. Avvertenza: COM_RST deve essere impostato su TRUE all'avviamento e successivamente non deve più essere modificato, ovvero al richiamo dell'istruzione non deve essere assegnato nessun valore. Dopo l'inizializzazione del DB di istanza COM_RST viene resettato dall'istruzione. Nota Osservare che i parametri DONE, NDR, ERROR e STATUS sono impostati solo per la durata di un ciclo. Tabella 5-4 Codici di errore comuni Codice di errore Descrizione 16#0000 Nessun errore 16#7000 Funzione non attiva 16#7001 Primo richiamo dopo l'avvio di una richiesta. 16#7002 Richiamo successivo dopo l'avvio di una richiesta. 16#8x3A Puntatore non consentito nel parametro x Tabella 5-5 Classi di errore comuni del parametro STATUS Descrizione della classe Classi di errore Descrizione Configurazione della porta 16#81Ax Per la descrizione di errori frequenti nella configurazione dell'interfaccia Configurazione della trasmissione 16#81Bx Per la descrizione di errori nella configurazione della trasmissione Configurazione della ricezione 16#81Cx Per la descrizione di errori nella configurazione della ricezione Invio 16#81Dx Per la descrizione di errori di runtime durante la trasmissione Ricezione 16#81Ex Per la descrizione di errori di runtime durante la ricezione Segnali addizionali dell'rs232 16#81Fx Per la descrizione di errori collegati all'elaborazione del segnale 76 Manuale di guida alle funzioni, 12/2017, A5E AB

78 Port_Config: Progetta porta di comunicazione PtP Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione Con l'istruzione Port_Config (configurazione della porta) è possibile modificare dal proprio programma i parametri come la velocità di trasmissione dati. I dati presenti nel CM vengono cancellati con l'esecuzione di Port_Config. Le modifiche della configurazione di Port_Config non vengono salvate nella CPU bensì sul CM. Al ripristino della tensione il CM viene parametrizzato con i dati contenuti nella configurazione del dispositivo. Parametri Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione REQ IN Bool FALSE Avvia la trasmissione dei dati al CM in seguito a un fronte di salita su questo ingresso. PORT IN PORT (UInt) Word 0 Specifica il modulo dal quale si svolge la comunicazione: PROTOCOL IN UInt Word 0 Protocollo 0 = protocollo Freeport 1 = protocollo 3964(R) Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. Manuale di guida alle funzioni, 12/2017, A5E AB 77

79 Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione BAUD IN UInt Word 6 Velocità di trasmissione dati della porta: 1 = 300 bit/s 2 = 600 bit/s 3 = 1200 bit/s 4 = 2400 bit/s 5 = 4800 bit/s 6 = 9600 bit/s 7 = bit/s 8 = bit/s 9 = bit/s 10 = bit/s 11 = bit/s PARITY IN UInt Word 1 Parità della porta: 1 = nessuna parità 2 = parità pari 3 = parità dispari 4 = parità mark 5 = parità space 6 = qualsiasi DATABITS IN UInt Word 1 Bit per carattere: 1 = 8 bit di dati 2 = 7 bit di dati STOPBITS IN UInt Word 1 Bit di stop: 1 = 1 bit di stop 2 = 2 bit di stop FLOWCTRL IN UInt Word 1 Controllo di flusso: 1 = nessun controllo di flusso 2 = XON/XOFF 3 = hardware RTS sempre ON 4 = hardware RTS sempre attivato 5 = hardware RTS sempre ON, ignora DTR/DSR XONCHAR IN Char 16#0011 Indica il carattere utilizzato per XON. Tipicamente si tratta di un carattere DC1 (11H). Questo parametro viene analizzato solo se il controllo del flusso software è attivo. XOFFCHAR IN Char 16#0013 Indica il carattere utilizzato per XOFF. Tipicamente si tratta di un carattere DC3 (13H). Questo parametro viene analizzato solo se il controllo del flusso software è attivo. 78 Manuale di guida alle funzioni, 12/2017, A5E AB

80 Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione WAITIME IN UInt Word 2000 Indica il tempo di attesa che deve trascorrere tra la ricezione di un carattere XOFF e un carattere XON, ovvero quanto tempo si deve attendere il segnale CTS = ON dopo CTS = OFF ( ms). Questo parametro viene analizzato solo se il controllo del flusso è attivo. MODE IN USInt Byte 0 Modo di funzionamento I modi di funzionamento consentiti sono: 0 = fullduplex (RS232) 1 = fullduplex (RS 422) a quattro fili (punto a punto) 2 = fullduplex (RS422) funzionamento a quattro fili (Master multipoint; CM PtP (ET 200SP)) 3 = fullduplex (RS422) funzionamento a quattro fili (Slave multipoint; CM PtP (ET 200SP)) 4 = semiduplex (RS485) a 2 fili 1) LINE_PRE IN USInt Byte 0 Preimpostazione della linea di ricezione Le preimpostazioni consentite sono: 0 = "nessuna" preimpostazione 1) 1 = segnale R(A)=5V, segnale R(B)=0 V (riconoscimento Break): con questa preimpostazione è possibile il riconoscimento break. È disponibile solo nei seguenti casi: "Fullduplex (RS422) funzionamento a quattro fili (Punto a punto)" e "Fullduplex (RS422) funzionamento a quattro fili (Slave multipoint)". 2 = segnale R(A)=0V, segnale R(B)=5V: questa preimpostazione corrisponde allo stato di riposo (nessuna trasmissione attiva). Questa preimpostazione non consente il riconoscimento Break. BRK_DET IN USInt Byte 0 Riconoscimento Break Sono consentiti: 0 = riconoscimento Break disattivato 1 = riconoscimento Break attivato COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. Manuale di guida alle funzioni, 12/2017, A5E AB 79

81 Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione DONE OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita senza errori ERROR OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita con errori STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 106)) 1) Impostazione necessaria per l'uso di cavi PROFIBUS in CM 1241 per RS485 Per maggiori informazioni sui parametri generali consultare la sezione "Parametri comuni per operazioni Freeport (Pagina 75)". 80 Manuale di guida alle funzioni, 12/2017, A5E AB

82 Send_Config: Progetta mittente PtP Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione Con l'istruzione Send_Config (configurazione della trasmissione) è possibile modificare i parametri di trasmissione dal programma utente durante il funzionamento (condizioni che modificano l'inizio e la fine dei dati da inviare). I dati in coda in un CM vengono cancellati quando viene eseguita Send_Config. Le modifiche della configurazione di Send_Config non vengono salvate nella CPU bensì sul CM. I parametri salvati nella configurazione del dispositivo vengono ripristinati al ritorno della tensione della CPU o del modulo di comunicazione. Parametri Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione REQ IN Bool FALSE Attiva la modifica della configurazione in seguito a un fronte di salita in questo ingresso. PORT IN PORT (UInt) Word 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. RTSONDLY IN UInt Word 0 Numero di millisecondi di attesa tra l'attivazione di RTS e l'avvio della trasmissione dei dati in invio. Questo parametro è valido solo se è attivo il controllo del flusso hardware. Il campo valido è compreso tra 0 e ms. Il valore 0 disattiva la funzione. Manuale di guida alle funzioni, 12/2017, A5E AB 81

83 Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione RTSOFFDLY IN UInt Word 0 Numero di millisecondi di attesa tra la trasmissione dei dati di trasmissione e la disattivazione di RTS. Questo parametro è valido solo se è attivo il controllo del flusso hardware. Il campo valido è compreso tra 0 e ms. Il valore 0 disattiva la funzione. BREAK IN UInt Word 0 Questo parametro indica che prima dell'avvio di ogni telegramma viene inviato un BREAK per il numero di bit time specificato. Sono possibili max bit time. Il valore 0 disattiva la funzione. IDLELINE IN UInt Word 0 Questo parametro indica che prima dell'inizio di ogni telegramma la linea resta inattiva per il numero di bit time specificato. Sono possibili max bit time. Il valore 0 disattiva la funzione. USR_END IN STRING[2] 0 Immissione dei caratteri finali. È possibile progettare al massimo 2 caratteri finali. La trasmissione include i caratteri finali, indipendentemente dalla lunghezza del telegramma parametrizzata. APP_END IN STRING[5] 0 Immissione caratteri da aggiungere. Si possono aggiungere max. 5 caratteri. COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. DONE OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita senza errori ERROR OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita con errori STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 106)) Per maggiori informazioni sui parametri generali consultare la sezione "Parametri comuni per operazioni Freeport (Pagina 75)". 82 Manuale di guida alle funzioni, 12/2017, A5E AB

84 Receive_Config: Progetta destinatario PtP Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione Con l'istruzione Receive_Config (configurazione della ricezione) è possibile modificare i parametri di ricezione dal programma utente durante il funzionamento. Questa istruzione configura le condizioni che indicano l'inizio e la fine dei dati ricevuti. I dati in coda in un CM vengono cancellati quando viene eseguita Receive_Config. Le modifiche della configurazione di Receive_Config salvate nel CM non sono a ritenzione. I parametri salvati nella configurazione del dispositivo vengono ripristinati al ritorno della tensione nella CPU o nel modulo di comunicazione. Si deve quindi richiamare di nuovo l'istruzione Receive_Config dal programma utente quando torna la tensione nella CPU o nel modulo di comunicazione, in modo da sovrascrivere nuovamente i parametri memorizzati nella configurazione del dispositivo. Parametri Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione REQ IN Bool FALSE Attiva la modifica della configurazione in seguito a un fronte di salita in questo ingresso. PORT IN PORT (UInt) Word 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. RECEIVE _CONDITIONS IN Variant Any - La struttura dei dati di Receive_Conditions indica le condizioni iniziali e finali in base alle quali riconoscere l'inizio e la di fine di un telegramma. Manuale di guida alle funzioni, 12/2017, A5E AB 83

85 Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Per maggiori informazioni sui parametri generali consultare la sezione "Parametri comuni per operazioni Freeport (Pagina 75)". Condizioni di inizio per l'istruzione Receive_P2P L'istruzione Receive_P2P utilizza la configurazione definita nella configurazione del dispositivo o specificata dall'istruzione Receive_Config per determinare l'inizio e la fine dei telegrammi nella comunicazione Freeport. L'inizio del telegramma è determinato dalle condizioni iniziali. L'inizio del telegramma può essere determinato in base a una o più condizioni iniziali. Se sono attivati sia Break che Idle Line deve essere prima soddisfatta la condizione Break e in aggiunta anche Idle Line. In seguito è sufficiente una delle condizioni ulteriori (caratteri iniziali o sequenza di inizio) per avviare la trasmissione dei dati. La condizione iniziale "Qualsiasi carattere" non può essere combinata con altre condizioni iniziali. Struttura del tipo di dati del parametro Receive_Conditions, parte 1 (condizioni iniziali) Tabella 5-6 Struttura di Receive_Conditions per le condizioni iniziali Parametri START.STARTCOND Tipo di dati Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. DONE OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita senza errori ERROR OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita con errori STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 106)) Dichiarazione Preassegnazione Descrizione IN Word 16#0002 Indicazione della condizione iniziale 01H - Riconoscimento del carattere iniziale 02H - qualsiasi carattere 04H - Riconoscimento di un Line Break 08H - Riconoscimento di un Idle Line 10H - Riconoscimento della sequenza di inizio 1 20H - Riconoscimento della sequenza di inizio 2 40H - Riconoscimento della sequenza di inizio 3 80H - Riconoscimento della sequenza di inizio 4 Le condizioni iniziali si possono combinare sommando i valori. 84 Manuale di guida alle funzioni, 12/2017, A5E AB

86 Parametri START.IDLETIME START.STARTCHAR START.SEQ[1].CTL Tipo di dati Dichiarazione Preassegnazione Descrizione IN Word 16#0028 Numero dei bit time necessari perché venga riconosciuto l'inizio di un telegramma quando la linea non è attiva (valore standard: W#16#28). Solo in combinazione con la condizione "Dopo il riconoscimento di un Idle Line" FFFF IN Byte 16#0002 Carattere iniziale per la condizione "carattere iniziale". (Valore standard: B#16#2) IN Byte 0 Sequenza di inizio 1, attiva/disattiva il confronto per ogni carattere: (Valore standard: B#16#0) Si tratta dei bit di attivazione per ogni carattere della sequenza. 01H - carattere 1 02H - carattere 2 04H - carattere 3 08H - carattere 4 START.SEQ[1].STR[1].. START.SEQ[1].STR.[5] START.SEQ[2]. CTL START.SEQ[2].STR[1].. START.SEQ[2].STR.[5] START.SEQ[3].CTL START.SEQ[3].STR[1].. START.SEQ[3].STR.[5] START.SEQ[4].CTL START.SEQ[4].STR[1].. START.SEQ[4].STR.[5] 10H - carattere 5 Se viene disattivato un bit per un determinato carattere, significa che in questa posizione della stringa ogni carattere rappresenta una stringa iniziale valida (ad es. 1FH = tutti e 5 i caratteri vengono interpretati). IN Char[5] 0 Sequenza di inizio 1, caratteri iniziali (5 caratteri). IN Byte 0 Sequenza di inizio 2, attiva/disattiva il confronto per ogni carattere. Valore standard: B#16#0) IN Char[5] 0 Sequenza di inizio 2, caratteri iniziali (5 caratteri). IN Byte 0 Sequenza di inizio 3, attiva/disattiva il confronto per ogni carattere. Valore standard: B#16#0 IN Char[5] 0 Sequenza di inizio 3, caratteri iniziali (5 caratteri). IN Byte 0 Sequenza di inizio 4, attiva/disattiva il confronto per ogni carattere. Valore standard: B#16#0 IN Char[5] 0 Sequenza di inizio 4, caratteri iniziali (5 caratteri). Manuale di guida alle funzioni, 12/2017, A5E AB 85

87 Esempio Si considerino i seguenti dati ricevuti in codice esadecimale: "68 10 aa 68 bb 10 aa 16". Le sequenze di caratteri iniziali configurate sono riportate nella tabella sottostante. Le sequenze di caratteri iniziali vengono analizzate dopo che è stato ricevuto senza errori il primo carattere 68H. Dopo aver ricevuto correttamente il quarto carattere (il secondo 68H) la condizione iniziale 1 è soddisfatta. Una volta soddisfatte le condizioni iniziali comincia la valutazione delle condizioni finali. L'elaborazione della sequenza di caratteri iniziali può essere interrotta in seguito a diversi errori di parità, di framing o di ritardo intercarattere. In seguito a questi errori i dati non vengono ricevuti perché non è soddisfatta la condizione iniziale (segue un messaggio di errore). Tabella 5-7 Condizioni iniziali Condizione iniziale Primo carattere Primo carattere +1 Primo carattere +2 Primo carattere +3 Primo carattere H xx xx 68H xx 2 10H aah xx xx xx 3 dch aah xx xx xx 4 e5h xx xx xx xx Condizioni finali per l'istruzione Receive_P2P Il telegramma termina la prima volta che si presentano una o più condizioni finali configurate. Le condizioni finali si possono configurare nelle proprietà dell'interfaccia di comunicazione nella configurazione del dispositivo o con l'istruzione Receive_Config. Al ripristino della tensione della CPU o del modulo di comunicazione i parametri di ricezione (condizioni iniziali e finali) vengono resettati alle impostazioni della configurazione del dispositivo. Se il programma utente STEP 7 esegue Receive_Config le impostazioni vengono impostate ai parametri di Receive_Config. 86 Manuale di guida alle funzioni, 12/2017, A5E AB

88 Struttura del tipo di dati del parametro Receive_Conditions, parte 2 (condizioni finali) Tabella 5-8 Struttura di Receive_Conditions per le condizioni finali Parametri END.ENDCOND Tipo di dati Dichiarazione Preassegnazione Descrizione IN Word 0 Questo parametro indica la condizione per la fine del telegramma: 01H - Time out di risposta 02H - Time out dei messaggi 04H - Tempo di ritardo di caratteri 08H - Lunghezza massima del telegramma 10H - Leggi lunghezza messaggio dal messaggio (N+LEN+M) 20H - Sequenza di fine 40H - Lunghezza fissa del telegramma END.FIXLEN IN Word 1 Lunghezza fissa del telegramma: viene utilizzato solo se è stata selezionata la condizione finale "Lunghezza fissa" byte (fino a 4 kbyte in funzione del modulo) END.MAXLEN IN Word 1 Lunghezza massima del telegramma: viene utilizzato solo se è stata selezionata la condizione finale "Lunghezza massima del telegramma" byte (fino a 4 kbyte in funzione del modulo) END.N IN Word 0 Posizione del byte del campo della lunghezza nel telegramma. Viene utilizzato solo con la condizione finale N+LEN+M byte (fino a 4 kbyte in funzione del modulo) END.LENGTHSIZE END.LENGTHM IN Word 0 Dimensioni del campo della lunghezza (1, 2 o 4 byte). Viene utilizzato solo con la condizione finale N+LEN+M. IN Word 0 Numero dei caratteri oltre il campo della lunghezza che non sono compresi nel valore di tale campo. Questo dato viene utilizzato solo con la condizione finale N+LEN+M byte END.RCVTIME IN Word 200 Specificare per quanto tempo è necessario attendere la ricezione del primo carattere dopo la trasmissione di un telegramma. Se non si riceve correttamente un carattere entro il tempo specificato l'istruzione di ricezione si conclude con un messaggio di errore. Questa indicazione viene utilizzata solo se la condizione è "Time out di risposta". ( ms). Avvertenza: Questo parametro non può essere adottato come criterio finale esclusivo, ma va combinato almeno con un'altra condizione finale. END.MSGTIME IN Word 200 Indicare quanto tempo è necessario attendere tra la ricezione del primo carattere e la ricezione del telegramma completo. Questo parametro viene utilizzato solo se la condizione selezionata è "Time out dei messaggi". ( ms) END.CHARGAP IN Word 12 Indicare il numero max. di bit time tra i caratteri. Se il numero dei bit time tra i caratteri supera il valore specificato la condizione finale è soddisfatta. Questa indicazione viene utilizzata solo se la condizione è "Tempo di ritardo del carattere". ( bit time) Manuale di guida alle funzioni, 12/2017, A5E AB 87

89 Parametri Tipo di dati Dichiarazione Preassegnazione Descrizione END.SEQ.CTL IN Byte 0 Sequenza di caratteri 1, attiva/disattiva il confronto per ogni carattere: Si tratta dei bit di attivazione per ogni carattere della sequenza di caratteri finali. Il carattere 1 è il bit 0, il carattere 2 è il bit 1,..., il carattere 5 è il bit 4. Se si disattiva un bit per un determinato carattere significa che qualsiasi carattere è adatto in questa posizione della sequenza. END.SEQ.STR[1].. END.SEQ.STR[5] IN Char[5] 0 Sequenza di caratteri 1, caratteri iniziali (5 caratteri) Tabella 5-9 Parametri generali dell'istruzione Receive_P2P Parametri GENERAL.MBUF_SIZE GENERAL.OW_PROT Tipo di dati Dichiarazione Preassegnazione Descrizione IN Byte 255 Permette di inserire il numero dei telegrammi che devono essere bufferizzati nel buffer di ricezione del CM. Se non sono attive altre condizioni che influenzano il comportamento del buffer di ricezione (Impedisci sovrascrittura, Controllo del flusso dei dati), tutti gli ulteriori telegrammi vengono respinti al raggiungimento del valore limite. ( telegrammi) IN Byte 0 Attiva la "non sovrascrittura" del telegramma bufferizzato quando il CM riceve un nuovo telegramma e il buffer di ricezione del CM non è ancora stato letto. In questo modo si evita che telegrammi di ricezione già bufferizzati possano andare persi. 0 - non attivato 1 - attivato GENERAL.CLR_MBUF IN Byte 0 Attiva la cancellazione del buffer di ricezione all'avviamento della CPU. Se questo parametro è attivato il buffer di ricezione viene cancellato automaticamente al passaggio della CPU da STOP a RUN. Nel buffer di ricezione si troveranno solo i telegrammi ricevuti dopo l'avviamento della CPU. 0 - non attivato 1 - attivato 88 Manuale di guida alle funzioni, 12/2017, A5E AB

90 P3964_Config: Progettazione del protocollo 3964(R) Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione L'istruzione P3964_Config (configurazione del protocollo) consente di modificare dal programma utente i parametri del protocollo 3964(R) come tempo di ritardo intercarattere, priorità e verifica blocco. Le modifiche della configurazione di P3964_Config non vengono salvate nella CPU bensì sul CM. I parametri salvati nella configurazione del dispositivo vengono ripristinati al ritorno della tensione della CPU o del modulo di comunicazione. Parametri Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione REQ IN Bool FALSE Avvia l'istruzione in seguito a un fronte di salita in questo ingresso. PORT IN PORT (UInt) Word 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. BCC IN USInt Byte 1 Attiva/disattiva l'utilizzo della verifica blocco 0 = senza verifica blocco 1 = con verifica blocco Priority IN USInt Byte 1 Impostazione della priorità 0 = priorità bassa 1 = priorità alta Manuale di guida alle funzioni, 12/2017, A5E AB 89

91 Parametri Preassegnazione CharacterDelayTime S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Descrizione IN UInt Word 16#00DC Impostazione del tempo di ritardo carattere (in funzione della velocità di trasmissione impostata) (valore standard: 220 ms) ms AcknDelayTime IN UInt Word 16#07D0 Impostazione del tempo di ritardo conferma (in funzione della velocità di trasmissione impostata) (valore standard: 2000 ms) ms BuildupAttempts RepetitionAttempts IN USInt Byte 16#0006 Impostazione del numero di tentativi di collegamento (valore predefinito: 6 tentativi di collegamento) IN USInt Byte 16#0006 Impostazione del numero di tentativi di trasmissione (valore predefinito: 6 tentativi di collegamento) COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. DONE OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita senza errori ERROR OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita con errori STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 106)) Per maggiori informazioni sui parametri generali consultare la sezione "Parametri comuni per operazioni Freeport (Pagina 75)". 90 Manuale di guida alle funzioni, 12/2017, A5E AB

92 Send_P2P: Invia dati Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione L'istruzione Send_P2P (invio di dati punto a punto) avvia la trasmissione dei dati e trasferisce al modulo di comunicazione il contenuto del buffer assegnato. Mentre il CM invia i dati alla velocità di trasmissione, l'esecuzione del programma della CPU prosegue. Può essere presente solo un'istruzione di trasmissione per modulo di comunicazione. Il CM segnala un errore se viene eseguita una seconda istruzione Send_P2P mentre il CM sta già inviando un telegramma. Parametri Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione REQ IN Bool FALSE Avvia la trasmissione dei dati al CM in seguito a un fronte di salita su questo ingresso. PORT IN PORT (UInt) Word 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. Manuale di guida alle funzioni, 12/2017, A5E AB 91

93 Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione BUFFER IN Variant Any 0 Questo parametro indica l'area di memoria del buffer di trasmissione. Note: i dati o i campi booleani non vengono supportati. Se il buffer di trasmissione si trova nell'area di memoria ottimizzata, la lunghezza max. consentita dei dati inviati ammonta a 1024 byte. Eccezione: Gli array di byte, Word o DWord vengono supportati fino ad una lunghezza di 4096 byte. Se il buffer di trasmissione è uno String o WString, il contenuto dello string viene trasmesso senza la lunghezza max attuale. Per ulteriori informazioni consultare la sezione "Utilizzo dei parametri BUFFER e LENGTH nelle operazioni di comunicazione (Pagina 94)" LENGTH IN UInt Word 0 Lunghezza dei dati da trasferire in byte. Con LENGTH = 0 l'area di memoria indirizzata nel parametro BUFFER viene trasmessa per intero. Per ulteriori informazioni consultare la sezione "Utilizzo dei parametri BUFFER e LENGTH nelle operazioni di comunicazione (Pagina 94)" COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Send_P2P Con 1 l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a 0 dall'istruzione. Nota: questo parametro è disponibile solo per le istruzioni S7-300/400. DONE OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita senza errori ERROR OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita con errori STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 106)) Per maggiori informazioni sui parametri generali consultare la sezione "Parametri comuni per operazioni Freeport (Pagina 75)". 92 Manuale di guida alle funzioni, 12/2017, A5E AB

94 Parametri Quando è in corso un'istruzione di trasmissione le uscite DONE e ERROR hanno lo stato FALSE. Al termine dell'istruzione di trasmissione una delle uscite DONE o ERROR viene impostata a TRUE per segnalare lo stato dell'istruzione. Se ERROR ha lo stato TRUE il codice di errore nell'uscita STATUS può essere analizzato. L'istruzione restituisce lo stato 16#7001 se l'interfaccia di comunicazione accetta i dati di trasmissione. Le successive esecuzioni di Send_P2P restituiscono il valore 16#7002 se il CM sta ancora trasmettendo. Al termine dell'istruzione di trasmissione il CM restituisce lo stato 16#0000 per l'istruzione (se non si sono verificati errori). Le successive esecuzioni di Send_P2P con REQ = 0 restituiscono lo stato 16#7000 (non occupato). Il diagramma seguente mostra la relazione tra i valori di uscita e REQ. Si presuppone che l'istruzione venga richiamata ciclicamente per controllare lo stato della trasmissione (rappresentato dai valori di STATUS). La figura seguente mostra che i parametri DONE e STATUS sono validi solo per un ciclo se sulla linea REQ è presente un impulso (per la durata di un ciclo) per avviare l'istruzione di trasmissione. La figura seguente mostra la relazione dei parametri DONE, ERROR e STATUS in caso di errore. I valori DONE, ERROR e STATUS sono validi solo finché Send_P2P viene eseguito nuovamente con lo stesso DB di istanza. Manuale di guida alle funzioni, 12/2017, A5E AB 93

95 Utilizzo dei parametri BUFFER e LENGTH nelle operazioni di comunicazione Utilizzo dei parametri BUFFER e LENGTH per Send_P2P Le dimensioni minime dei dati che l'istruzione Send_P2P può inviare sono di un byte. Il parametro BUFFER definisce le dimensioni dei dati da inviare se al momento del richiamo nel parametro LENTH viene trasmesso uno "0". L'indicazione di una variabile è sufficiente. Per il parametro BUFFER non è possibile utilizzare né il tipo di dati Bool né array del tipo Bool. In caso di trasmissione di grandi quantità di dati, si raccomanda la riproduzione nei tipi di dati Array o nella struttura. Tabella 5-10 Parametro BUFFER BUFFER Tipo di dati semplici Descrizione Per la trasmissione vale quanto segue: il valore LENGTH deve contenere il numero di byte di questo tipo di dati. Esempio: se il valore è Word, LENGTH deve essere due. Se il valore è DWord o Real, LENGTH deve essere quattro. Struttura Per la memoria ottimizzata vale quanto segue: la lunghezza max. consentita di BUFFER è 1024 Byte; diversamente sono ammessi fino a 4 kbyte in funzione del modulo. Per la trasmissione vale quanto segue: il valore LENGTH può contenere un numero di byte inferiore alla lunghezza complessiva della struttura in byte, nel qual caso vengono inviati solo i primi byte LENGTH della struttura. Array Per la memoria ottimizzata vale quanto segue: Se il tipo di dati dell'array è diverso da Byte, Word o DWord la lunghezza max. consentita del buffer è 1024 Byte. Se la memoria non è ottimizzata, si possono trasferire fino a 4 kbyte in funzione del modulo, indipendentemente dalla struttura dei dati. Per la trasmissione vale quanto segue: il valore LENGTH può contenere un numero di byte inferiore alla lunghezza complessiva dell'array in byte e deve essere un multiplo del numero di byte dell'elemento dati. Esempio: il parametro LENGTH di un array del tipo Word deve essere un multiplo di due e un multiplo di quattro se l'array è del tipo Real. Quando si specifica LENGTH viene trasferito il numero degli elementi array. Ad esempio, se BUFFER contiene un array con 15 elementi DWord (in totale 60 Bytes) e si specifica LENGTH = 20, vengono trasferiti i primi cinque elementi DWord dell'array. String Il parametro LENGTH contiene il numero dei caratteri da trasmettere. Vengono trasferiti solo i caratteri di String. I byte con la lunghezza max. e la lunghezza effettiva di String non vengono inviati. Tabella 5-11 Parametri LENGTH LENGTH Descrizione = 0 Viene trasferito l'intero contenuto dell'area di memoria specificata in BUFFER. Se BUFFER indica una stringa, viene trasferito l'intero contenuto della stringa senza i byte con la lunghezza max. ed effettiva. > 0 Il contenuto viene trasferito fino alla lunghezza parametrizzata dell'area di memoria specificata tramite BUFFER. 94 Manuale di guida alle funzioni, 12/2017, A5E AB

96 Receive_P2P: Ricevi dati Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione L'istruzione Receive_P2P (ricezione dei dati tramite comunicazione punto a punto) controlla i telegrammi ricevuti nel CM. Quando è presente un telegramma, il CM lo trasmette alla CPU. Gli errori di ricezione vengono visualizzati nel parametro STATUS. Parametri Parametri S7-1200/1500 PORT IN PORT (UInt) Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione Word 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. Manuale di guida alle funzioni, 12/2017, A5E AB 95

97 Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione BUFFER IN Variant Any 0 Questo parametro indica l'indirizzo iniziale del buffer di ricezione. Questo buffer deve essere sufficiente per ricevere la lunghezza max. del telegramma. Nota: I dati o i campi booleani non sono supportati. Se il buffer di ricezione si trova nell'area di memoria ottimizzata, la lunghezza max. consentita dei dati ricevuti ammonta a 1024 byte. Eccezione: Gli array di byte, Word o DWord vengono supportati fino ad una lunghezza di 4096 byte. Se il buffer di ricezione è uno String o WString, i dati ricevuti vengono scritti nel contenuto dello string e la lunghezza attuale di quest'ultimo viene impostata di conseguenza. Per ulteriori informazioni consultare la sezione"utilizzo dei parametri BUFFER e LENGTH nelle operazioni di comunicazione (Pagina 94)" LENGTH OUT UInt Word 0 Lunghezza del telegramma ricevuto in byte Per ulteriori informazioni consultare la sezione"utilizzo dei parametri BUFFER e LENGTH nelle operazioni di comunicazione (Pagina 94)" NDR OUT Bool FALSE È TRUE per la durata di un ciclo se sono pronti nuovi dati e l'istruzione si è conclusa senza errori. COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. ERROR OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'istruzione si è conclusa con errori. STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 106)) Per maggiori informazioni sui parametri generali consultare la sezione "Parametri comuni per operazioni Freeport (Pagina 75)". Se ERROR ha lo stato TRUE il codice di errore nell'uscita STATUS può essere analizzato. Il valore STATUS indica la causa della fine della ricezione nel CM. In genere è un valore positivo che indica che la ricezione è riuscita e quale criterio di fine del telegramma è stato riconosciuto. Se il valore di STATUS è negativo (il bit più significativo del valore esadecimale è impostato) la ricezione è stata interrotta a causa di una condizione di errore, ad es. di parità, framing o overflow. Ogni modulo di comunicazione può bufferizzare un numero di telegrammi specifico del modulo. Se nel CM sono disponibili diversi telegrammi, l'istruzione Receive_P2P emette il telegramma disponibile meno recente (FIFO). 96 Manuale di guida alle funzioni, 12/2017, A5E AB

98 Receive_Reset: Cancella buffer di ricezione Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione L'istruzione Receive_Reset (reset del destinatario) cancella il buffer di ricezione nel CM. Parametri Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione REQ IN Bool FALSE Avvia la trasmissione dei dati al CM in seguito a un fronte di salita su questo ingresso. PORT IN PORT (UInt) Word 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. DONE OUT Bool FALSE Se è TRUE per la durata di un ciclo significa che l'ultima richiesta è stata eseguita senza errori. ERROR OUT Bool FALSE TRUE significa che l'ultima richiesta è stata eseguita con errori. Se questa uscita è TRUE l'uscita STATUS contiene i rispettivi codici di errore. STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 106)) Per maggiori informazioni sui parametri generali consultare la sezione "Parametri comuni per operazioni Freeport (Pagina 75)". Manuale di guida alle funzioni, 12/2017, A5E AB 97

99 Signal_Get: Leggi stato Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione L'istruzione Signal_Get (richiamo dei segnali RS232) legge gli stati attuali dei segnali addizionali RS232 e li visualizza nelle rispettive uscite dell'istruzione. Nota Limitazione Quest'istruzione è utilizzabile solo con i CM RS232 BA e RS232 HF. Se nel modo di funzionamento è impostato RS232C, quest'istruzione può essere utilizzata anche nel CM PtP (ET200SP). Parametri Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione REQ IN Bool FALSE Avvia la trasmissione dei dati al CM in seguito a un fronte di salita su questo ingresso. PORT IN PORT (UInt) Word 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. NDR OUT Bool FALSE È TRUE per la durata di un ciclo se i segnali addizionali RS232 sono stati letti e l'istruzione si è conclusa senza errori. ERROR OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'istruzione si è conclusa con errori. STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 106)) 98 Manuale di guida alle funzioni, 12/2017, A5E AB

100 Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione DTR OUT Bool FALSE Dispositivo dati pronto, modulo pronto (uscita) DSR OUT Bool FALSE Dispositivo dati pronto, partner della comunicazione pronto (ingresso) RTS OUT Bool FALSE Richiesta di trasmissione, modulo pronto alla trasmissione (uscita) CTS OUT Bool FALSE Comunicazione pronta, il partner della comunicazione può ricevere dati (ingresso) DCD OUT Bool FALSE Segnale del supporto dati rilevato, livello del segnale ricevuto RING OUT Bool FALSE Indicatore di chiamata, segnalazione di una chiamata in arrivo Per maggiori informazioni sui parametri generali consultare la sezione "Parametri comuni per operazioni Freeport (Pagina 75)". Manuale di guida alle funzioni, 12/2017, A5E AB 99

101 Signal_Set: Imposta segnali addizionali Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione L'istruzione Signal_Set (impostazione dei segnali RS232) consente di impostare i segnali di comunicazione RS232. Nota Limitazioni Quest'istruzione è utilizzabile solo con i CM RS232 BA e RS232 HF. Se nel modo di funzionamento è impostato RS232C, quest'istruzione può essere utilizzata anche nel CM PtP (ET200SP). Parametri Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione REQ IN Bool FALSE Avvia l'istruzione in seguito a un fronte di salita di questo ingresso. PORT IN PORT (UInt) Word 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. SIGNAL IN Byte 0 Selezione del segnale da impostare (sono ammessi più segnali): 01H = RTS 02H = DTR 04H = DSR (vale solo per il tipo di interfaccia DCE) 100 Manuale di guida alle funzioni, 12/2017, A5E AB

102 Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione RTS IN Bool FALSE Richiesta di trasmissione, modulo pronto alla trasmissione Imposta questo valore nell'uscita (TRUE o FALSE), valore standard: FALSE DTR IN Bool FALSE Terminale dati pronto, modulo pronto Imposta questo valore nell'uscita (TRUE o FALSE), valore standard: FALSE DSR IN Bool FALSE Terminale dati pronto (vale solo per il tipo di interfaccia DCE), non utilizzato. COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. DONE OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita senza errori ERROR OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita con errori STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 106)) Per maggiori informazioni sui parametri generali consultare la sezione "Parametri comuni per operazioni Freeport (Pagina 75)". Manuale di guida alle funzioni, 12/2017, A5E AB 101

103 Get_Features: Preleva funzioni avanzate Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione Con l'istruzione Get_Features (prelievo di funzioni avanzate) è possibile richiamare informazioni sulle funzioni di supporto del CRC e la generazione dei messaggi di diagnostica - se supportate dal modulo. Parametri Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione REQ IN Bool FALSE Avvia l'istruzione in seguito a un fronte di salita di questo ingresso. PORT IN PORT Word 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. NDR OUT Bool FALSE È TRUE per la durata di un ciclo se sono pronti nuovi dati e l'istruzione si è conclusa senza errori. MODBUS OUT Bool FALSE Supporto CRC Modbus _CRC DIAG _ALARM OUT Bool FALSE Generazione di messaggi di diagnostica SUPPLY _VOLT OUT Bool FALSE Diagnostica Tensione di alimentazione mancante L+ disponibile COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. 102 Manuale di guida alle funzioni, 12/2017, A5E AB

104 Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione ERROR OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'istruzione si è conclusa con errori. STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 106)) Per maggiori informazioni sui parametri generali consultare la sezione "Parametri comuni per operazioni Freeport (Pagina 75)". Manuale di guida alle funzioni, 12/2017, A5E AB 103

105 Set_Features: Imposta funzioni avanzate Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione Con l'istruzione Set_Features (selezione di funzioni avanzate) è possibile attivare la funzione di supporto CRC e la generazione di messaggi di diagnostica - se supportate dal modulo. Parametri Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione REQ IN Bool FALSE L'istruzione per l'impostazione di funzioni avanzate viene avviata in seguito a un fronte di salita in questo ingresso. PORT IN PORT (UInt) EN_MODBUS _CRC EN_DIAG _ALARM EN_SUPPLY _VOLT Word 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. IN Bool FALSE Attiva il supporto CRC Modbus IN Bool FALSE Attiva la generazione di messaggi di diagnostica IN Bool FALSE Attivazione della diagnostica Tensione di alimentazione mancante L+ COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. DONE OUT Bool FALSE È TRUE per la durata di un'esecuzione dopo che l'ultima richiesta è stata eseguita senza errori 104 Manuale di guida alle funzioni, 12/2017, A5E AB

106 Parametri S7-1200/1500 Tipo di dati S7-300/400/ WinAC Dichiarazione Preassegnazione Descrizione ERROR OUT Bool FALSE È TRUE per la durata di un ciclo dopo che l'istruzione si è conclusa con errori. STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 106)) Per maggiori informazioni sui parametri generali consultare la sezione "Parametri comuni per operazioni Freeport (Pagina 75)". Manuale di guida alle funzioni, 12/2017, A5E AB 105

107 Messaggi di errore Panoramica dei messaggi di errore PtP I messaggi di errore vengono messi a disposizione nell'uscita STATUS di un'istruzione e possono essere valutati lì o elaborati nel programma utente. Codice di Descrizione Rimedio errore 16#0000 Nessun errore - Stato di RECEIVE e codici di errore 16#0094 Fine del telegramma riconosciuta dalla "ricezione di - una lunghezza fissa/massima del telegramma" 16#0095 Fine del telegramma riconosciuta dal "Time out dei - messaggi" 16#0096 Fine del telegramma riconosciuta dallo scadere del - "Tempo di ritardo del carattere" 16#0097 Il telegramma è stato interrotto poiché è stato raggiunto - il tempo di risposta massimo. 16#0098 Fine del telegramma riconosciuta perché sono soddisfatte - le condizioni per "Rileva la lunghezza dal mes- saggio" 16#0099 Fine del telegramma riconosciuta dalla ricezione della "Sequenza di fine" - Stato di SEND e codici di errore 16#7000 Blocco nel funzionamento a vuoto - 16#7001 Primo richiamo di un nuovo telegramma: trasmissione - dei dati avviata 16#7002 Richiamo intermedio: trasmissione dei dati in corso - 16#8085 Lunghezza indicata non consentita Selezionare una lunghezza del telegramma appropriata. Sono consentiti (in funzione del modulo): /2048/4096 (Byte) 16#8088 La lunghezza indicata è maggiore dell'area impostata nel buffer di ricezione. Avvertenza: se nel parametro BUFFER è stato specificato il tipo di dati STRING, questo codice di errore viene visualizzato anche se la lunghezza della stringa attuale è minore del valore indicato nel parametro LENGTH. 16#8090 Errore di configurazione: Numero dispari di byte in WString Modificare l'area nel buffer di ricezione o selezionare una lunghezza del telegramma adeguata all'area impostata nel buffer di ricezione. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Scegliere un numero pari di byte. 106 Manuale di guida alle funzioni, 12/2017, A5E AB

108 Codice di errore Descrizione Stato di RECEIVE e codici di errore 16#7002 Richiamo intermedio: Trasferimento dati in corso - 16#8088 Il numero di caratteri ricevuti è maggiore di quanto indicato nel parametro BUFFER. 16#8090 Errore di configurazione: Numero dispari di byte in WString Codici di segnalazione degli errori delle funzioni speciali 16#818F Impostazione errata per il numero del parametro (solo per USS) Rimedio Selezionare una lunghezza del telegramma appropriata. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Scegliere un numero pari di byte. Selezionare un numero di parametro adeguato (PARAM). Sono consentiti: #8190 Impostazione errata del calcolo CRC Selezionare un valore adeguato per il calcolo CRC. Sono consentiti: disattivato o attivato. Verificare se il modulo indirizzato supporta il calcolo CRC. 16#8191 Impostazione errata dell'allarme di diagnostica Selezionare un valore adatto per "Allarme di diagnostica". Sono consentiti: allarme di diagnostica disattivato o attivato. Verificare se il modulo indirizzato supporta la generazione di allarmi di diagnostica. 16#8193 Il modulo non supporta la diagnostica della tensione di alimentazione L+. Selezionare un valore adatto per "Allarme di diagnostica". Sono consentiti: allarme di diagnostica disattivato o attivato. Verificare se il modulo indirizzato supporta la generazione degli allarmi di diagnostica. Codici di segnalazione degli errori di configurazione della porta 16#81A0 Il modulo non supporta questo protocollo. Selezionare un protocollo (PROTOCOL) consentito per il modulo. 16#81A1 Il modulo non supporta questa velocità di trasmissione dati. 16#81A2 Il modulo non supporta questa impostazione per la parità. Selezionare una velocità di trasmissione (BAUD) consentita per il modulo. Selezionare un valore adatto per "Parità" (PARITY). Sono consentiti: Nessuna (1) Pari (2) Dispari (3) Mark (4) Space (5) Qualsiasi (6) Manuale di guida alle funzioni, 12/2017, A5E AB 107

109 Codice di errore Descrizione Rimedio 16#81A3 Il modulo non supporta questo numero di bit di dati. Selezionare un valore adatto per "Numero di bit di dati" (DATABITS). Sono consentiti: 7 (2) 8 (1) 16#81A4 Il modulo non supporta questo numero di bit di stop. Selezionare un valore adatto per "Numero di bit di stop" (STOPBITS). Sono consentiti: 16#81A5 Il modulo non supporta questo tipo di controllo del flusso dati. 1 (1) 2 (2) Selezionare un controllo del flusso dati (FLOWCTRL) consentito per il modulo. 16#81A7 Valore non consentito per XON o XOFF Selezionare valori adatti per XON (XONCHAR) e XOFF(XOFFCHAR). Campo di valori ammesso: #81AA Modo di funzionamento non consentito I modi di funzionamento consentiti sono: Fullduplex (RS232) (0) Fullduplex (RS 422) a quattro fili (punto a punto) (1) / (CM PtP (ET 200SP)) Fullduplex (RS422) funzionamento a quattro fili (master multipoint) (2)/ (CM PtP (ET 200SP)) Fullduplex (RS422) funzionamento a quattro fili (Slave multipoint) (3) Semiduplex (RS485) funzionamento a 2 fili (4) 16#81AB Preimpostazione della linea di ricezione non consentita Le preimpostazioni consentite sono: "Nessuna" preimpostazione (0) Segnale R(A)=5V, segnale R(B)=0 V (riconoscimento Break) (1): È disponibile solo nei seguenti casi: "Fullduplex (RS422) funzionamento a quattro fili (Punto a punto)" e "Fullduplex (RS422) funzionamento a quattro fili (Slave multipoint)". Segnale R(A)=0 V, segnale R(B)=5 V (2): questa preimpostazione corrisponde allo stato di riposo (nessuna trasmissione attiva). 16#81AC Valore non consentito per "Riconoscimento Break" Selezionare un valore adatto per "Riconoscimento Break". Sono consentiti: riconoscimento Break disattivato (0) riconoscimento Break attivo (1). 16#81AF Il modulo non supporta questo protocollo. Selezionare un protocollo consentito per il modulo. 108 Manuale di guida alle funzioni, 12/2017, A5E AB

110 Codice di errore Descrizione Codici di errore di configurazione della trasmissione 16#81B5 Più di 2 caratteri finali -osequenza di fine > 5 caratteri Rimedio Selezionare valori adatti per "Carattere finale" e "Sequenza di fine". Sono consentiti: 16#81B6 Send Configuration respinto perché è selezionato il protocollo 3964(R) disattivato (0), 1 (1) o 2 (2) caratteri finali oppure disattivato (0), 1 (1)... 5 (5) caratteri per la sequenza di fine. Assicurarsi che con il protocollo 3964(R) impostato non venga inviata la configurazione della trasmissione. Codici di errore di configurazione della ricezione 16#81C0 Condizione iniziale non consentita Selezionare una condizione iniziale adatta. Sono consentiti: Invia Break prima dell'inizio del telegramma Invia Idle Line. 16#81C1 Condizione finale non consentita o non selezionata Selezionare una condizione finale adatta (vedere Invio di dati con Freeport (Pagina 40)). 16#81C3 Valore non consentito per "Lunghezza max. del messaggio" 16#81C4 Valore non consentito per "Offset del campo di lunghezza nel messaggio" 16#81C5 Valore non consentito per "Dimensioni del campo di lunghezza" Selezionare un valore adatto per "Lunghezza max. del messaggio" (MAXLEN). Campo di valori consentito (in funzione del modulo): /2048/4096 (byte) Selezionare un valore adatto per "Offset del campo di lunghezza nel messaggio". Campo di valori consentito (in funzione del modulo): /2048/4096 (byte) Selezionare un valore adatto per "Dimensioni del campo di lunghezza" (LENGTHSIZE). Campo valori consentito in byte: 1 (1) 2 (2) 4 (4) 16#81C6 Valore non consentito per "Numero dei caratteri che non rientrano nella lunghezza indicata" Selezionare un valore adatto per "Nr. dei caratteri che non rientrano nella lunghezza indicata" (LENGTHM). Campo di valori ammesso: (byte) Manuale di guida alle funzioni, 12/2017, A5E AB 109

111 Codice di errore Descrizione 16#81C7 La somma di "Offset del campo di lunghezza nel messaggio + Dimensioni del campo di lunghezza + Numero dei caratteri che non rientrano nella lunghezza indicata" supera la lunghezza massima del telegramma. Rimedio Selezionare valori adatti per "Offset del campo di lunghezza nel messaggio", "Dimensioni del campo di lunghezza" e "Numero dei caratteri che non rientrano nella lunghezza indicata". Campo di valori ammesso: Offset del campo di lunghezza nel messaggio (in funzione del modulo): /2048/4096 (byte) Dimensioni del campo di lunghezza: 1, 2 o 4 (byte) Numero dei caratteri che non rientrano nella lunghezza indicata: (byte) 16#81C8 Valore non consentito per "Time out di risposta" Selezionare un valore adatto per "Time out di risposta". Campo di valori ammesso: (ms) 16#81C9 Valore non consentito per "Tempo di ritardo del carattere" 16#81CB 16#81CC Sequenza di fine del telegramma attivata ma nessuno dei caratteri è attivato per la verifica Sequenza di inizio del telegramma attivata ma nessuno dei caratteri è attivato per la verifica Selezionare un valore adatto per "Tempo di ritardo del carattere". Campo di valori ammesso: (bit time) Attivare uno o più caratteri per la verifica. Attivare uno o più caratteri per la verifica. 16#81CD Valore non consentito per "Impedisci sovrascrittura" Selezionare un valore adatto per "Impedisci sovrascrittura". Sono consentiti: Impedisci sovrascrittura disattivato (0) oppure Impedisci sovrascrittura attivato (1) 16#81CE Valore non consentito per "Cancella buffer di ricezione all'avviamento" Selezionare un valore adatto per "Cancella buffer di ricezione all'avviamento". Sono consentiti: Cancella buffer di ricezione all'avviamento disattivato (0) Cancella buffer di ricezione all'avviamento attivato (1) 110 Manuale di guida alle funzioni, 12/2017, A5E AB

112 Codice di errore Descrizione Stato di SEND e codici di errore 16#81D0 Ricezione di una richiesta di trasmissione durante l'esecuzione di un ordine di trasmissione Rimedio Assicurarsi che durante l'esecuzione di un ordine di trasmissione non si verifichino ulteriori richieste di trasmissione. 16#81D1 Il tempo di attesa di XON o CTS = ON è scaduto. Il partner di comunicazione è disturbato, troppo lento oppure offline. Controllare il partner di comunicazione o modificare eventualmente la parametrizzazione. 16#81D2 "Hardware RTS sempre ON": ordine di trasmissione interrotto a causa della commutazione da DSR = ON a OFF 16#81D3 Overflow del buffer di trasmissione / telegramma di trasmissione troppo grande 16#81D5 Trasmissione interrotta per modifica della parametrizzazione, rilevamento della rottura di un conduttore o CPU in STOP 16#81D6 Trasmissione interrotta per mancata ricezione del carattere finale 16#81D7 Comunicazione disturbata tra programma utente e modulo 16#81D8 Tentativo di trasmissione respinto perché il modulo non è parametrizzato 16#81DF Per uno dei seguenti motivi, il modulo ha resettato l'interfaccia del FB: Il modulo è stato riavviato Il modulo è stato nuovamente parametrizzato STOP della CPU Controllare il partner di comunicazione. Assicurarsi che DSR sia impostato su ON per l'intera trasmissione. Selezionare una lunghezza del telegramma inferiore. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Verificare la parametrizzazione, la rottura conduttore e lo stato della CPU. Verificare la parametrizzazione dei caratteri finali e il telegramma del partner della comunicazione. Verificare la comunicazione (ad es. la corrispondenza del numero della sequenza). Parametrizzare il modulo. Manuale di guida alle funzioni, 12/2017, A5E AB 111

113 Codice di errore Descrizione Codici di errore di configurazione della ricezione 16#81E0 Telegramma interrotto: overflow del buffer di trasmissione / telegramma di trasmissione troppo grande Rimedio Richiamare più spesso la funzione di ricezione nel programma utente o parametrizzare una comunicazione con controllo del flusso dati. 16#81E1 Telegramma interrotto: Errore di parità Verificare la linea di collegamento dei partner di comunicazione ovvero che velocità di trasmissione, parità e numero di bit di stop siano gli stessi su entrambi i dispositivi. 16#81E2 Telegramma interrotto: errore di frame Verificare le impostazioni per bit di start, bit di dati, bit di parità, velocità di trasmissione e bit di stop. 16#81E3 Telegramma interrotto: errore di overflow dei caratteri Errore di firmware: rivolgersi al Customer Support. 16#81E4 Telegramma interrotto: lunghezza di "Offset del campo di lunghezza nel messaggio + Dimensioni del campo di lunghezza + Numero dei caratteri che non rientrano nella lunghezza indicata" superiore al buffer di ricezione Verificare le impostazioni per Offset del campo di lunghezza nel messaggio, Dimensioni del campo di lunghezza e Numero dei caratteri che non rientrano nella lunghezza indicata. 16#81E5 Telegramma interrotto: Break Linea di ricezione verso il partner interrotta. Ripristinare la linea o attivare il partner. 16#81E6 Numero massimo di "Telegrammi in ricezione bufferizzati" superato 16#81E7 Errori di sincronizzazione tra il modulo e Receive_P2P 16#81E8 Telegramma interrotto: tempo di ritardo del carattere scaduto prima che sia stato riconosciuto il criterio di fine del messaggio 16#81E9 Errore CRC Modbus (solo moduli di comunicazione che supportano Modbus) 16#81EA Telegramma Modbus troppo corto (solo moduli di comunicazione che supportano Modbus) 16#81EB Telegramma interrotto: lunghezza massima del telegramma raggiunta Richiamare più spesso l'istruzione nel programma utente, parametrizzare una comunicazione con controllo del flusso dati o aumentare il numero di telegrammi salvati nel buffer. Accertarsi che diverse istanze di Receive_P2P non accedano allo stesso modulo. Il dispositivo partner è troppo lento o è disturbato. Verificare eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Errore nella somma di controllo del telegramma Modbus. Controllare il partner di comunicazione. La lunghezza minima del telegramma Modbus non è stata raggiunta. Controllare il partner di comunicazione. Selezionare una lunghezza del telegramma inferiore per il partner di comunicazione. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Controllare i parametri del riconoscimento della fine del telegramma. 112 Manuale di guida alle funzioni, 12/2017, A5E AB

114 Codice di errore Descrizione Codici di errore dei segnali addizionali V24 Rimedio 16#81F0 Il modulo non supporta segnali addizionali V24 Si è tentato di impostare segnali addizionali per un modulo che non supporta i segnali addizionali V24. Assicurarsi che si tratti di un modulo RS232 o che sia impostata la modalità RS232 (ET 200SP). 16#81F1 Nessun comando dei segnali addizionali V24 Se è attivo il controllo del flusso dati hardware non è possibile comandare manualmente i segnali addizionali V24. 16#81F2 Impossibile impostare il segnale DSR in quanto l'unità è di tipo DTE. 16#81F3 Impossibile impostare il segnale DTR in quanto l'unità è di tipo DCE. 16#81F4 Errore block header (ad es. tipo di blocco errato oppure lunghezza di blocco errata) Codici di errore di configurazione della ricezione 16#8201 1) Receive_Conditions è un puntatore a un tipo di dati non consentito 16#8225 Receive_Conditionsindica l'area di memoria ottimizzata maggiore di 1 kbyte oppure Receive_Conditions indica l'area di memoria ottimizzata e la lunghezza di ricezione è maggiore dell'area indirizzata con Receive_Conditions. 16#8229 1) Receive_Conditions è un puntatore rivolto verso BOOL con numero di bit diverso da n * 8 Codici di errore generali Controllare il tipo parametrizzato dell'unità. L'unità deve essere di tipo DCE (data communication equipment). Controllare il tipo parametrizzato dell'unità. L'unità deve essere di tipo DTE (data terminal equipment). Verificare il DB di istanza e il block header. Inserire un puntatore a uno dei seguenti tipi di dati: DB, BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TIME_OF_DAY, TIME, S5TIME, DATE_AND_TIME, STRING Inserire un puntatore a un'area con la lunghezza max. seguente: Area di memoria ottimizzata: 1 kbyte Area di memoria non ottimizzata: 4 kbyte Avvertenza: Se il puntatore indica un'area di memoria ottimizzata, non trasmettere più di 1 kbyte. Se si utilizza un puntatore rivolto verso BOOL il numero di bit deve essere un multiplo di 8. 16#8280 Conferma negativa durante la lettura del modulo Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici RDREC.STATUS e nella descrizione dell'sfb RDREC. Controllare quanto immesso nel parametro PORT Prima del 1 richiamo impostare il parametro COM_RST. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici WRREC.STATUS e nella descrizione dell'sfb WRREC. 16#8282 Modulo non disponibile Verificare l'immissione nel parametro PORT e accertarsi che il modulo sia accessibile. Manuale di guida alle funzioni, 12/2017, A5E AB 113

115 Codice di errore Descrizione Codici di errore di configurazione della ricezione 16#82C1 Valore non consentito per "Telegrammi in ricezione bufferizzati". 16#82C2 Receive Configuration respinto perché è selezionato il protocollo 3964(R) 16#8301 1) Receive_Conditions è un puntatore a un tipo di dati non consentito 16#8322 Lunghezza dell'area errata per la lettura di un parametro Rimedio Selezionare un valore adatto per "Telegrammi in ricezione bufferizzati". Campo di valori ammesso: Assicurarsi che con il protocollo 3964(R) impostato non venga inviata la configurazione della ricezione. Selezionare un tipo di dati consentito. Sono consentiti: DB, BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TIME_OF_DAY, TIME, S5TIME, DATE_AND_TIME, STRING Controllare quanto immesso nel parametro Receive_Conditions 16#8324 Errore di area per la lettura di un parametro Controllare quanto immesso nel parametro Receive_Conditions 16#8328 Errore di impostazione alla lettura di un parametro Controllare quanto immesso nel parametro Receive_Conditions Stato di SEND e codici di errore 16#8328 1) BUFFER è un puntatore a BOOL con numero di bit diverso da n * 8 Codici di errore di configurazione della ricezione 16#8332 Blocco dati non consentito nel parametro Receive_Conditions 16#833A La denominazione del blocco dati nel parametro Receive_Conditions indica un blocco dati non caricato. Se si utilizza un puntatore a BOOL il numero di bit deve essere un multiplo di 8. Controllare quanto immesso nel parametro Receive_Conditions Controllare quanto immesso nel parametro Receive_Conditions 16#8351 Tipo di dati non ammesso Controllare quanto immesso nel parametro Receive_Conditions 16#8352 1) Receive_Conditions non indica un blocco dati Controllare il puntatore a Receive_Conditions 16#8353 1) Receive_Conditions non indica una struttura del tipo Receive_Conditions Controllare il puntatore a Receive_Conditions 114 Manuale di guida alle funzioni, 12/2017, A5E AB

116 Codice di errore Descrizione Codici di errore del protocollo 3964(R) 16#8380 Errore di parametrizzazione: valore non consentito per "Tempo di ritardo del carattere". 16#8381 Errore di parametrizzazione: valore non consentito per "Time out di risposta". 16#8382 Errore di parametrizzazione: valore non consentito per "Priorità". Rimedio Selezionare un valore adatto per "Tempo di ritardo del carattere" (CharacterDelayTime). Campo di valori ammesso: (ms) Selezionare un valore adatto per "Time out di risposta" (AcknDelayTime). Campo di valori ammesso: (ms) Selezionare un valore adatto per "Priorità" (Priority). Sono consentiti: Elevato (1) Basso (0) 16#8383 Errore di parametrizzazione: valore non consentito per "Verifica blocco". Selezionare un valore adatto per "Verifica blocco" (BCC). Sono consentiti: con verifica blocco (1) senza verifica blocco (0) 16#8384 Errore di parametrizzazione: valore non consentito per "Tentativi di collegamento". 16#8385 Errore di parametrizzazione: valore non consentito per "Tentativi di trasmissione". 16#8386 Errore di runtime: numero di tentativi di collegamento superato 16#8387 Errore di runtime: numero di tentativi di trasmissione superato 16#8388 Errore di runtime: errore nel "carattere di verifica blocco" Il valore del carattere di verifica blocco creato internamente non coincide con quello ricevuto dal partner alla fine del collegamento. 16#8389 Errore di runtime: in attesa della disponibilità del buffer di ricezione è stato ricevuto un carattere non consentito Selezionare un valore adatto per "Tentativi di collegamento" (BuildupAttempts). Campo di valori ammesso: Selezionare un valore adatto per "Tentativi di trasmissione" (RepetitionAttempts). Campo di valori ammesso: Controllare il cavo dell'interfaccia e i parametri di trasmissione. Controllare anche sul lato del partner se la funzione di ricezione è parametrizzata correttamente. Controllare il cavo dell'interfaccia, i parametri di trasmissione e la parametrizzazione del partner della comunicazione. Controllare se il collegamento è fortemente disturbato, in questo caso si noteranno occasionalmente anche codici errati. Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. La richiesta di trasmissione del partner di comunicazione (STX, 02H) riceve in risposta DLE solo quando il buffer di ricezione si svuota. Prima non è consentito ricevere altri caratteri (ad eccezione di un altro STX). Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Manuale di guida alle funzioni, 12/2017, A5E AB 115

117 Codice di errore Descrizione 16#838A Errore di runtime: errore logico durante la ricezione. Dopo la ricezione di DLE è stato ricevuto un altro carattere qualsiasi (esclusi DLE, ETX). 16#838B Errore di runtime: tempo di ritardo del carattere superato 16#838C Errore di runtime: tempo di attesa della disponibilità del buffer di ricezione avviato 16#838D Errore di runtime: dopo NAK la ripetizione del telegramma non si avvia entro 4 s 16#838E Errore di runtime: durante il tempo di riposo sono stati ricevuti uno o più caratteri (esclusi NAK o STX). 16#838F Errore di runtime: conflitto di inizializzazione. Entrambi i partner hanno impostato la priorità alta 16#8391 Errore di parametrizzazione: dati di parametrizzazione 3964 respinti perché è impostato Freeport Rimedio Controllare se il partner raddoppia sempre DLE nell'intestazione del telegramma e nella stringa di dati o se il collegamento si disattiva con DLE ETX. Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Il dispositivo partner è troppo lento o disturbato. Verificare eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Richiamare più spesso l'istruzione nel programma utente o parametrizzare una comunicazione con controllo del flusso dati. Controllare il partner di comunicazione. Un telegramma ricevuto eventualmente errato deve essere ripetuto dal partner entro 4 secondi. Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Impostare per uno dei partner la priorità "Bassa" Assicurarsi che con il protocollo Freeport impostato non vengano inviati i dati di parametrizzazione ) Solo per le istruzioni per le CPU S7-300/ Manuale di guida alle funzioni, 12/2017, A5E AB

118 Panoramica dei messaggi di errore Modbus Codice di errore Descrizione 16#0000 Nessun errore - Errore di configurazione dell'interfaccia - Modbus_Comm_Load 16#8181 Il modulo non supporta questa velocità di trasmissione dati. 16#8182 Il modulo non supporta questa impostazione per la parità. 16#8183 Il modulo non supporta questo tipo di controllo del flusso dati. Rimedio Selezionare una velocità di trasmissione consentita per il modulo nel parametro BAUD. Selezionare un valore adatto per la "Parità" nel parametro PARITY. Sono consentiti: Nessuna (1) Pari (2) Dispari (3) Mark (4) Space (5) Qualsiasi (6) Selezionare un controllo del flusso dati consentito per il modulo nel parametro FLOW_CTRL. 16#8184 valore non consentito per "Time out di risposta". Selezionare un valore adatto per "Time out di risposta" nel parametro RESP_TO. Campo di valori ammesso: (ms) 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_Config.RDREC.STATUS, Receive_Config.RDREC.STATUS o RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_Config.WRREC.STATUS, Receive_Config.WRREC.STATUS o WRREC.STATUS e nella descrizione dell'sfb WRREC. 16#8282 Modulo non disponibile Verificare l'immissione nel parametro PORT e accertarsi che il modulo sia accessibile. Manuale di guida alle funzioni, 12/2017, A5E AB 117

119 Codice di errore Descrizione Errore di configurazione - Modbus_Slave Rimedio 16#8186 Indirizzo slave non consentito Selezionare un indirizzo di slave adeguato nel parametro MB_ADDR. Sono consentiti: per l'area di indirizzi standard; per l'area di indirizzi estesa (0 è riservato per il broadcast) 16#8187 Valore non consentito nel parametro MB_HOLD_REG Selezionare un valore adatto per l'holding register nel parametro MB_HOLD_REG. 16#8188 Modo di funzionamento non consentito o Broadcast (MB_ADDR = 0) e parametro MODE 1 16#818C Il puntatore di un'area MB_HOLD_REG deve essere un blocco dati o un'area merker. Con il modo di funzionamento Broadcast selezionare per MODE il valore 1 o scegliere un altro modo di funzionamento. Selezionare un valore adatto per il puntatore all'area MB_HOLD_REG. 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.WRREC.STATUS o Receive_P2P.WRREC.STATUS e nella descrizione dell'sfb WRREC. 16#8452 1) MB_HOLD_REG non è un puntatore a un DB o un'area Controllare il puntatore MB_HOLD_REG merker 16#8453 1) MB_HOLD_REG non è un puntatore del tipo BOOL o Controllare il puntatore MB_HOLD_REG WORD 16#8454 1) La lunghezza dell'area indirizzata con Controllare il puntatore MB_HOLD_REG MB_HOLD_REG supera la lunghezza del DB o l'area indirizzata è troppo piccola per il numero di dati da leggere o scrivere. 16#8455 1) MB_HOLD_REG indica un DB protetto in scrittura Controllare il puntatore MB_HOLD_REG 16#8456 1) Errore di esecuzione dell'istruzione. La causa dell'errore si trova nel parametro statico STATUS. Determinare il valore del parametro SFCSTATUS. Leggerne il significato nella descrizione dell'sfc51, parametro STATUS. 118 Manuale di guida alle funzioni, 12/2017, A5E AB

120 Codice di errore Descrizione Errore di configurazione - Modbus_Master Rimedio 16#8180 Valore non consentito per il parametro MB_DB Il valore parametrizzato nell'istruzione Modbus_Comm_Load per MB_DB (DB dei dati di istanza) non è consentito. Controllare l'interconnessione dell'istruzione Modbus_Comm_Load e i relativi messaggi di errore. 16#8186 Indirizzo della stazione non consentito Selezionare un indirizzo di stazione adeguato nel parametro MB_ADDR. Sono consentiti: per l'area di indirizzi standard; per l'area di indirizzi estesa (0 è riservato per il broadcast) 16#8188 Modo di funzionamento non consentito o Broadcast (MB_ADDR = 0) e parametro MODE 1 Con il modo di funzionamento Broadcast selezionare per MODE il valore 1 o scegliere un altro modo di funzionamento. 16#8189 Indirizzo dei dati non consentito Selezionare un valore adatto per l'indirizzo dei dati nel parametro DATA_ADDR. Vedere la descrizione Modbus_Master (Pagina 131) nel sistema di informazione 16#818A Lunghezza indicata non consentita Selezionare una lunghezza dei dati adeguata nel parametro DATA_LEN. Vedere la descrizione Modbus_Master (Pagina 131) nel sistema di informazione 16#818B Valore non consentito per DATA_PTR Selezionare nel parametro DATA_PTR un valore adeguato per il puntatore dati (indirizzo M o DB). Vedere la descrizione Modbus_Master (Pagina 131) nel sistema di informazione 16#818C Errore di interconnessione del parametro DATA_PTR Controllare l'interconnessione dell'istruzione. 16#818D La lunghezza dell'area indirizzata con DATA_PTR Controllare il puntatore DATA_PTR supera la lunghezza del DB o l'area indirizzata è troppo piccola per il numero di dati da leggere o scrivere. 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.WRREC.STATUS, Receive_P2P.WRREC.STATUS o Receive_Reset e nella descrizione dell'sfb WRREC. Manuale di guida alle funzioni, 12/2017, A5E AB 119

121 Codice di errore Descrizione Errore di comunicazione - Modbus_Master e Modbus_Slave Rimedio 16#80D1 Il tempo di attesa di XON o CTS = ON è scaduto. Il partner di comunicazione è disturbato, troppo lento oppure offline. Controllare il partner di comunicazione o modificare eventualmente la parametrizzazione. 16#80D2 "Hardware RTS sempre ON": ordine di trasmissione interrotto a causa della commutazione da DSR = ON a OFF 16#80E0 Telegramma interrotto: overflow del buffer di trasmissione / telegramma di trasmissione troppo grande Controllare il partner di comunicazione. Assicurarsi che DSR sia impostato su ON per l'intera trasmissione. Richiamare più spesso l'istruzione nel programma utente o parametrizzare una comunicazione con controllo del flusso dati. 16#80E1 Telegramma interrotto: errore di parità Verificare la linea di collegamento dei partner di comunicazione ovvero che velocità di trasmissione, parità e numero di bit di stop siano gli stessi su entrambi i dispositivi. 16#80E2 Telegramma interrotto: errore di frame Verificare le impostazioni per bit di start, bit di dati, bit di parità, velocità di trasmissione e bit di stop. 16#80E3 Telegramma interrotto: errore di overflow dei caratteri Controllare il numero di dati del telegramma del partner della comunicazione. 16#80E4 Telegramma interrotto: lunghezza massima del telegramma raggiunta Selezionare una lunghezza del telegramma inferiore per il partner di comunicazione. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Errore di comunicazione - Modbus_Master 16#80C8 Lo slave non risponde entro il tempo impostato Verificare la velocità di trasmissione, la parità e il cablaggio dello slave. 16#80C9 Lo slave non risponde entro il tempo impostato tramite Blocked_Proc_Timeout. Verificare l'impostazione di Blocked_Proc_Timeout. Controllare se il modulo è stato parametrizzato con l'istruzione Modbus_Comm_Load. Eventualmente, dopo aver estratto e reinserito il modulo o al ripristino della tensione, è necessario riparametrizzare il modulo tramite Modbus_Comm_Load. 16#8200 L'interfaccia è occupata da una richiesta in corso. Ripetere l'ordine successivamente. Prima di avviare un nuovo ordine assicurarsi che non siano più in corso altri ordini. Errore di protocollo - Modbus_Slave (solo moduli di comunicazione che supportano Modbus) 16#8380 Errore CRC Errore nella somma di controllo del telegramma Modbus. Controllare il partner di comunicazione. 16#8381 Il codice funzione non è supportato o non è supportato per il Broadcast. 16#8382 La lunghezza indicata nel telegramma di richiesta non è consentita 16#8383 L'indirizzo dei dati nel telegramma di richiesta non è consentito 16#8384 Errore nel valore dei dati non consentito nel telegramma di richiesta 16#8385 Il valore di diagnostica non è supportato dallo slave Modbus (codice funzione 08) Controllare il partner della comunicazione e assicurarsi che venga inviato un codice funzione valido. Selezionare una lunghezza dei dati adeguata nel parametro DATA_LEN. Selezionare un valore adatto per l'indirizzo dei dati nel parametro DATA_ADDR. Controllare il valore dei dati nel telegramma di richiesta del master Modbus Lo slave Modbus supporta solo i valori di diagnostica 16#0000 e 16#000A. 120 Manuale di guida alle funzioni, 12/2017, A5E AB

122 Codice di errore Descrizione Rimedio Errore di protocollo - Modbus_Master (solo moduli di comunicazione che supportano Modbus) 16#8380 Errore CRC Errore nella somma di controllo del telegramma Modbus. Controllare il partner di comunicazione. 16#8381 Telegramma di risposta del Modbus Slave con messaggio di errore: Il codice funzione non è supportato. 16#8382 Telegramma di risposta del Modbus Slave con messaggio di errore: Lunghezza indicata non consentita 16#8383 Telegramma di risposta del Modbus Slave con messaggio di errore: L'indirizzo dei dati nel telegramma di richiesta non è consentito 16#8384 Telegramma di risposta del Modbus Slave con messaggio di errore: Errore nel valore dei dati 16#8385 Telegramma di risposta del Modbus Slave con messaggio di errore: Il valore di diagnostica non è supportato dallo slave Modbus 16#8386 Il codice funzione confermato non corrisponde a quello richiesto. Controllare il partner della comunicazione e assicurarsi che venga inviato un codice funzione valido. Selezionare una lunghezza dei dati adeguata. Selezionare un valore adatto per l'indirizzo dei dati nel parametro DATA_ADDR. Controllare il telegramma di richiesta inviato allo slave Modbus. Gli slave Modbus supportano solo i valori di diagnostica 16#0000 e 16#000A. Controllare il telegramma di risposta e l'indirizzamento dello slave. 16#8387 Risponde uno slave che non è stato indirizzato Controllare il telegramma di risposta dello slave. Controllare le impostazioni dell'indirizzo dello slave. 16#8388 Errore nella risposta dello slave a una richiesta di Controllare il telegramma di risposta dello slave. scrittura. 16#8828 1) DATA_PTR indica un indirizzo di bit diverso da n * 8 Controllare il puntatore DATA_PTR 16#8852 1) DATA_PTR non è un puntatore a un DB o un'area Controllare il puntatore DATA_PTR merker 16#8853 1) DATA_PTR non è un puntatore del tipo BOOL o Controllare il puntatore DATA_PTR WORD 16#8855 1) DATA_PTR indica un DB protetto in scrittura Controllare il puntatore DATA_PTR 16#8856 1) Errore al richiamo dell'sfc51 Ripetere il richiamo dell'istruzione Modbus_Master Errore - Modbus_Slave (solo moduli di comunicazione che supportano Modbus) 16#8428 1) MB_HOLD_REG indica un indirizzo di bit diverso da n Controllare il puntatore MB_HOLD_REG * 8 16#8452 1) MB_HOLD_REG non è un puntatore a un DB o un'area Controllare il puntatore MB_HOLD_REG merker 16#8453 1) MB_HOLD_REG non è un puntatore del tipo BOOL o Controllare il puntatore MB_HOLD_REG WORD 16#8454 1) La lunghezza dell'area indirizzata con Controllare il puntatore MB_HOLD_REG MB_HOLD_REG supera la lunghezza del DB o l'area indirizzata è troppo piccola per il numero di dati da leggere o scrivere. 16#8455 1) MB_HOLD_REG indica un DB protetto in scrittura Controllare il puntatore MB_HOLD_REG 16#8456 1) Errore al richiamo dell'sfc51 Ripetere il richiamo dell'istruzione Modbus_Slave 1) Solo per le istruzioni per le CPU S7-300/400 Manuale di guida alle funzioni, 12/2017, A5E AB 121

123 Panoramica dei messaggi di errore USS Codice di errore Descrizione 16#0000 Nessun errore - Rimedio 16#8180 Lunghezza errata nella risposta dell'azionamento Controllare il telegramma di risposta dell'azionamento. 16#8181 Errore di tipo di dati Selezionare un tipo di dati adeguato. Sono consentiti: 16#8182 Errore di tipo di dati: la richiesta "Parola" non deve essere confermata da "Doppia parola" o "Real". 16#8183 Errore di tipo di dati: la richiesta "Doppia parola" o "Real" non deve essere confermata da "Parola". 16#8184 Errore della somma di controllo nella risposta dell'azionamento Real Parola Doppia parola Controllare il telegramma di risposta dell'azionamento. Controllare il telegramma di risposta dell'azionamento. Verificare l'azionamento e il collegamento di comunicazione. 16#8185 Errore di indirizzamento Area di indirizzi dell'azionamento consentita: #8186 Errore di setpoint Campo del setpoint: -200 % % 16#8187 Il numero di azionamento confermato è errato Controllare il telegramma di risposta dell'azionamento. 16#8188 Lunghezza PZD non consentita Lunghezze PZD consentite: 2, 4, 6, 8 parole 16#8189 Il modulo non supporta questa velocità di trasmissione dati. 16#818A Al momento è attiva un'altra richiesta per questo azionamento. Selezionare una velocità di trasmissione consentita per il modulo. Ripetere l'ordine di lettura o scrittura dei parametri in un momento successivo. 16#818B L'azionamento non risponde. Controllare l'azionamento. 16#818C L'azionamento risponde a una richiesta di parametri con un messaggio di errore. 16#818D L'azionamento risponde a una richiesta di parametri segnalando un errore di accesso. Controllare il telegramma di risposta dell'azionamento. Verificare la richiesta di parametri. Verificare se le istruzioni USS_Read_Param, USS_Write_Param oppure USS_Port_Scan hanno segnalato un errore. In caso affermativo controllare il valore della variabile statica USS_DB. w_ussextendederror dell'istruzione USS_Drive_Control. Controllare il telegramma di risposta dell'azionamento. Verificare la richiesta di parametri. 16#818E L'azionamento non è stato inizializzato. Controllare il programma utente e assicurarsi che per questo azionamento venga richiamata l'istruzione USS_Drive_Control. 122 Manuale di guida alle funzioni, 12/2017, A5E AB

124 Codice di errore Descrizione Rimedio 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Port_Config.RDREC.STATUS o Send_Config.RDREC.STATUS o Receive_Config.RDREC.STATUS o Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Port_Config.WRREC.STATUS o Send_Config.WRREC.STATUS o Receive_Config.WRREC.STATUS o Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb WRREC. 1) Solo per le istruzioni per le CPU S7-300/400 Manuale di guida alle funzioni, 12/2017, A5E AB 123

125 5.4.2 MODBUS (RTU) Panoramica della comunicazione Modbus RTU Comunicazione Modbus RTU Modbus RTU(Remote Terminal Unit) è un protocollo standard per la comunicazione in rete che si avvale del collegamento RS232 o RS422/485 per la trasmissione dei dati seriale tra i dispositivi Modbus nella rete. Modbus RTU utilizza una rete master/slave in cui l'intera comunicazione viene attivata da un unico dispositivo master mentre gli slave possono solo reagire alla richiesta del master. Il master invia una richiesta a un indirizzo slave e solo lo slave con questo indirizzo risponde al comando. Eccezione: l'indirizzo slave Modbus 0 invia un telegramma Broadcast a tutti gli slave (senza risposta dello slave). Codici funzione Modbus Una CPU utilizzata come master Modbus RTU può leggere e scrivere sia i dati che lo stato degli I/O in uno slave Modbus RTU collegato attraverso un collegamento di comunicazione. Una CPU utilizzata come slave Modbus RTU consente a un master Modbus RTU collegato attraverso un collegamento di comunicazione di leggere e scrivere sia i dati che lo stato degli I/O nella propria CPU. Tabella 5-12 Funzioni di lettura dei dati: lettura di I/O decentrati e dati di programma Codice funzione Modbus Funzioni di lettura dei dati dello slave (server), indirizzamento standard 01 Lettura dei bit di uscita: 1 fino a 2000/1992 1) bit per richiesta 02 Lettura dei bit di ingresso: 1 fino a 2000/1992 1) bit per richiesta 03 Lettura del registro di mantenimento: 1 fino a 125/124 1) parole per richiesta 04 Lettura delle parole di ingresso: 1 fino a 125/124 1) parole per richiesta 1) con indirizzamento ampliato Tabella 5-13 Funzioni di scrittura dei dati: scrittura di I/O decentrati e modifica dei dati di programma Codice funzione Modbus Funzioni di scrittura di dati nello slave (server), indirizzamento standard 05 Scrittura di un bit di uscita: 1 bit per richiesta 06 Scrittura di un registro di mantenimento: 1 parola per richiesta 15 Scrittura di uno o più bit di uscita: bit per richiesta 16 Scrittura di uno o più registri di mantenimento: parole per richiesta 124 Manuale di guida alle funzioni, 12/2017, A5E AB

126 I codici funzione Modbus 08 e 11 forniscono opzioni di diagnostica per la comunicazione con il dispositivo slave. L'indirizzo slave Modbus 0 invia un telegramma broadcast a tutti gli slave (senza risposta dello slave; per codici funzione 5, 6, 15, 16). Tabella 5-14 Indirizzi delle stazioni della rete Modbus Stazione Indirizzo Stazione RTU Indirizzo standard della stazione e 0 per broadcast Indirizzo esteso della stazione e0 per broadcast Indirizzi di memoria Modbus Il numero effettivamente disponibile di indirizzi di memoria Modbus (indirizzi di ingressi/uscite) dipende dalla versione della CPU e dalla memoria di lavoro disponibile. Istruzioni Modbus RTU nel programma utente Modbus_Comm_Load: è necessario eseguire Modbus_Comm_Load per configurare i parametri PtP come velocità di trasmissione, parità e controllo del flusso dei dati. Una volta configurato, il modulo di comunicazione per il protocollo Modbus RTU può essere utilizzato solo dall'istruzione Modbus_Master o Modbus_Slave. Modbus_Master: questa istruzione master Modbus consente di utilizzare la CPU come dispositivo master Modbus RTU per la comunicazione con uno o più dispositivi slave Modbus. Modbus_Slave: questa istruzione slave Modbus consente di utilizzare la CPU come dispositivo slave Modbus RTU per la comunicazione con un dispositivo master Modbus. Manuale di guida alle funzioni, 12/2017, A5E AB 125

127 Modbus_Comm_Load: Configura modulo di comunicazione per Modbus Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione L'istruzione Modbus_Comm_Load configura un modulo per la comunicazione attraverso il modulo Modbus RTU. Quando si inserisce l'istruzione Modbus_Comm_Load nel programma utente viene automaticamente creato un blocco dati di istanza. Le modifiche della configurazione di Modbus_Comm_Load non vengono salvate nella CPU bensì sul CM. Al ripristino della tensione e dopo aver estratto e inserito il CM, questo viene parametrizzato con i dati salvati nella configurazione del dispositivo. In questi casi è necessario richiamare nuovamente l'istruzione Modbus_Comm_Load. Parametri Parametri Dichiarazione S7-1200/1500 Tipo di dati S7-300/400/ WinAC Standard Descrizione REQ IN Bool FALSE Avvia l'istruzione in seguito a un fronte di salita di questo ingresso. PORT IN Port Laddr 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. BAUD IN UDInt DWord 9600 Selezione della velocità di trasmissione I valori consentiti sono: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 76800, bit/s. PARITY IN UInt Word 0 Selezione della parità: 0 Nessuna 1 Dispari 2 Pari 126 Manuale di guida alle funzioni, 12/2017, A5E AB

128 Parametri FLOW _CTRL RTS_ON _DLY RTS_OFF _DLY Dichiarazione S7-1200/1500 Tipo di dati S7-300/400/ WinAC Standard Descrizione IN UInt Word 0 Selezione del controllo del flusso: 0 (Standard) Nessun controllo del flusso 1 Controllo del flusso hardware con RTS sempre ON (non vale per i CM RS422/485) 2 Controllo del flusso hardware con RTS attivato (non vale per i CM RS422/485) IN UInt Word 0 Selezione del ritardo all'inserzione RTS: 0 Nessun ritardo da "RTS attivo" alla trasmissione del primo carattere del telegramma Ritardo in millisecondi da "RTS attivo" alla trasmissione del primo carattere del telegramma (non vale per i CM RS422/485). I ritardi RTS devono essere applicati indipendentemente dalla selezione di FLOW_CTRL. IN UInt Word 0 Selezione del ritardo alla disinserzione RTS: 0 Nessun ritardo fra la trasmissione dell'ultimo carattere e "RTS non attivo" Ritardo in millisecondi dalla trasmissione dell'ultimo carattere a "RTS non attivo" (non vale per le porte RS422/485). I ritardi RTS devono essere applicati indipendentemente dalla selezione di FLOW_CTRL. RESP_TO IN UInt Word 1000 Timeout di risposta: 5 ms ms - Tempo in millisecondi durante il quale il Modbus_Master attende una risposta dallo slave. Se lo slave non risponde entro questo intervallo di tempo Modbus_Master ripete la richiesta oppure, nel caso sia stato raggiunto il numero di tentativi specificato, la interrompe con un errore (vedere oltre, parametro RETRIES). MB_DB IN/OUT MB_BASE - Riferimento al blocco dati di istanza delle istruzioni Modbus_Master o Modbus_Slave. Il parametro MB_DB deve essere interconnesso con il parametro MB_DB (statico e perciò non visibile nell'istruzione) dell'istruzione Modbus_Master o Modbus_Slave. COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Modbus_Comm_Load Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. Nota: questo parametro è disponibile solo per le istruzioni S7-300/400. DONE OUT Bool FALSE Il bit DONE è TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita senza errori. Manuale di guida alle funzioni, 12/2017, A5E AB 127

129 Parametri Dichiarazione S7-1200/1500 Tipo di dati S7-300/400/ WinAC Standard Descrizione ERROR OUT Bool FALSE Il bit ERROR è TRUE per la durata di un ciclo dopo che l'ultima richiesta si è conclusa con errori. Il codice di errore nel parametro STATUS è valido solo nel ciclo in cui ERROR = TRUE. STATUS OUT Word 16#7000 Codice di errore (vedere Messaggi di errore (Pagina 158)) Modbus_Comm_Load viene eseguita per configurare una porta per il protocollo Modbus RTU. Una volta configurata, la porta per il protocollo Modbus RTU può essere utilizzata solo dalle istruzioni Modbus_Mastero Modbus_Slave. Modbus_Comm_Load deve essere eseguita una volta per ogni porta da configurare per la comunicazione Modbus. A ogni porta utilizzata si deve assegnare un DB di istanza Modbus_Comm_Load univoco. Ripetere Modbus_Comm_Load solo se è necessario modificare parametri di comunicazione come la velocità di trasmissione e la parità o eventualmente dopo il ripristino della rete. Quando ad es. si inserisce Modbus_Master o Modbus_Slave nel programma utente, viene automaticamente assegnato all'istruzione un blocco dati di istanza. Il parametro MB_DB dell'istruzione Modbus_Comm_Load deve essere collegato con il parametro MB_DB dell'istruzione Modbus_Master o Modbus_Slave. 128 Manuale di guida alle funzioni, 12/2017, A5E AB

130 Variabili del blocco dati Modbus_Comm_Load La tabella seguente mostra le variabili statiche pubbliche contenute nel DB di istanza di Modbus_Comm_Load utilizzabili nel programma utente. Tabella 5-15 Variabili statiche nel DB di istanza Variabile Tipo di dati Standard Descrizione S7-1200/1500 S7-300/400/ WinAC ICHAR_GAP Word 0 Tempo di ritardo max. tra i caratteri. Questo parametro viene specificato in millisecondi e consente di aumentare il tempo di attesa tra i caratteri ricevuti. Il corrispondente numero di bit time per questo parametro viene sommato al valore standard Modbus di 35 bit time (3,5 tempi di carattere). RETRIES Word 2 Numero di tentativi che il master effettua prima di generare il codice di errore 0x80C8 in assenza di risposta. EN_SUPPLY Bool 0 Attivazione della diagnostica Tensione di alimentazione mancante L+ _VOLT MODE USInt Byte 0 Modo di funzionamento I modi di funzionamento consentiti sono: 0 = fullduplex (RS232) 1 = fullduplex (RS 422) a quattro fili (punto a punto) 2 = fullduplex (RS422) funzionamento a quattro fili (Master multipoint, CM PtP (ET 200SP)) 3 = fullduplex (RS422) funzionamento a quattro fili (Slave multipoint, CM PtP (ET 200SP)) 4 = semiduplex (RS485) a 2 fili 1) LINE_PRE USInt Byte 0 Preimpostazione della linea di ricezione Le preimpostazioni consentite sono: 0 = "nessuna" preimpostazione 1) 1 = segnale R(A)=5V, segnale R(B)=0 V (riconoscimento Break): con questa preimpostazione è possibile il riconoscimento break. È disponibile solo nei seguenti casi: "Fullduplex (RS422) funzionamento a quattro fili (Punto a punto)" e "Fullduplex (RS422) funzionamento a quattro fili (Slave multipoint)". 2 = segnale R(A)=0V, segnale R(B)=5V: questa preimpostazione corrisponde allo stato di riposo (nessuna trasmissione attiva). Questa preimpostazione non consente il riconoscimento Break. BRK_DET USInt Byte 0 Riconoscimento Break Sono consentiti: 0 = riconoscimento Break disattivato 1 = riconoscimento Break attivato Manuale di guida alle funzioni, 12/2017, A5E AB 129

131 Variabile Tipo di dati Standard Descrizione EN_DIAG _ALARM S7-1200/1500 S7-300/400/ WinAC Bool 0 Attiva allarme di diagnostica: 0 - non attivato 1 - attivato STOP_BITS USINT Byte 1 Numero di bit di stop; 1 = 1 bit di stop, 2 = 2 bit di stop, 0, = riservato 1) Impostazione necessaria per l'uso di cavi PROFIBUS in CM 1241 per RS485 Versioni dell istruzione La versione 3.1 presenta le stesse funzioni della versione 3.0 ed è stata incrementata in ragione di misure interne. 130 Manuale di guida alle funzioni, 12/2017, A5E AB

132 Modbus_Master: Comunica come master Modbus Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione L'istruzione Modbus_Master comunica come master Modbus attraverso una porta configurata con l'istruzione Modbus_Comm_Load. Quando si inserisce l'istruzione Modbus_Master nel programma utente viene automaticamente creato un blocco dati di istanza. Il parametro MB_DB dell'istruzione Modbus_Comm_Load deve essere collegato con il parametro MB_DB (statico) dell'istruzione Modbus_Master. Parametri Parametri Dichiarazione S7-1200/1500 Tipo di dati Standard Descrizione S7-300/400/ WinAC REQ IN Bool FALSE FALSE = Nessuna richiesta TRUE = Richiesta di trasmissione di dati allo slave Modbus MB_ADDR IN UInt Word - Indirizzo della stazione Modbus RTU: Area di indirizzi standard ( e 0 per Broadcast) Area di indirizzi ampliata ( e 0 per Broadcast) Il valore 0 è riservato per la trasmissione del telegramma broadcast a tutti gli slave Modbus. Gli unici codici funzione Modbus supportati per il Broadcast sono 05, 06, 15 e 16. MODE IN USInt Byte 0 Selezione del modo: indica il tipo di richiesta (lettura, scrittura o diagnostica). Per maggiori informazioni consultare la tabella delle funzioni Modbus riportata più avanti. DATA_AD DR DATA _LEN IN UDInt DWord 0 Indirizzo iniziale nello slave: indica l'indirizzo iniziale dei dati a cui accedere nello slave Modbus. Gli indirizzi validi sono indicati nella tabella delle funzioni Modbus riportata più avanti. IN UInt Word 0 Lunghezza dati: indica il numero di bit o di parole a cui deve accedere la richiesta. Le lunghezze valide sono indicate nella tabella delle funzioni Modbus riportata più avanti. COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Modbus_Master Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. Nota: questo parametro è disponibile solo per le istruzioni S7-300/400. Manuale di guida alle funzioni, 12/2017, A5E AB 131

133 Parametri DATA _PTR Dichiarazione S7-1200/1500 Tipo di dati Standard Descrizione S7-300/400/ WinAC IN/OUT Variant Any - Puntatore dati: punta all'indirizzo merker o DB per i dati da scrivere o leggere. A partire dalla versione V3.0 dell istruzione: il parametro può puntare a un area di memoria ottimizzata. Nell area di memoria ottimizzata è consentito un elemento Single o un array con i seguenti tipi di dati: Bool, Byte, Char, Word, Int, DWord, DInt, Real, USInt, UInt, UDInt, SInt, WChar. Ogni altro tipo di dati genera il messaggio di errore 16#818C. DONE OUT Bool FALSE Il bit DONE è TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita senza errori. BUSY OUT Bool - FALSE Non sono attivi ordini per Modbus_Master TRUE Ordine in corso per Modbus_Master ERROR OUT Bool FALSE Il bit ERROR è TRUE per la durata di un ciclo dopo che l'ultima richiesta si è conclusa con errori. Il codice di errore nel parametro STATUS è valido solo nel ciclo in cui ERROR = TRUE. STATUS OUT Word 0 Codice di errore (vedere Messaggi di errore (Pagina 158)) 132 Manuale di guida alle funzioni, 12/2017, A5E AB

134 Variabili nel blocco dati del master Modbus La tabella seguente mostra le variabili statiche pubbliche contenute nel DB di istanza di Modbus_Master utilizzabili nel programma utente. Tabella 5-16 Variabili statiche nel DB di istanza Variabile Tipo di dati Standard Descrizione Blocked_Proc_Timeout Real 3.0 Tempo di attesa (in secondi) prima che un'istanza master Modbus bloccata venga rimossa come ATTIVA. Ciò può verificarsi ad es. se è stata emessa una richiesta del master e il programma smette di richiamare la funzione del master prima di aver completato la richiesta. Il valore del tempo deve essere maggiore di 0 e minore di 55 secondi, in caso contrario si verifica un errore. Vedere anche le sezioni "Regole per la comunicazione del Modbus-Master" e "Richiamo dell'istruzione Modbus_Master con diverse impostazioni dei parametri". Extended_Addressing Bool FALSE Configura l'indirizzo della stazione slave a byte singolo o doppio. FALSE = indirizzo a un byte; TRUE = indirizzo a due byte (corrisponde all'indirizzamento ampliato); Compatibility_Mode 1) Bool FALSE Modo di compatibilità con CP 341, CP e ET 200S 1SI con driver per Modbus RTU e con ET 200P 1SI per Modbus. Il valore standard è 0. FALSE = secondo specifica Modbus, non compatibile TRUE = compatibile Per FC1 e FC2 vale: i dati letti dal telegramma di ricezione vengono scritti parola per parola nella memoria indirizzata della CPU e scambiati byte per byte. Se il numero dei bit da trasferire non è un multiplo di 16, i bit non rilevanti nell'ultima parola vengono impostati a zero. Per FC15 vale: le parole da trasferire vengono lette parola per parola dalla memoria indirizzata e scritte byte per byte nel telegramma di trasmissione. Se il numero dei bit da trasferire non è un multiplo di 8, i bit non rilevanti nell'ultimo byte vengono letti dalla memoria indirizzata senza essere modificati e registrati nel telegramma di trasmissione. MB_DB MB _BASE - Il parametro MB_DB dell'istruzione Modbus_Comm_Load deve essere collegato con questo parametro MB_DB dell'istruzione Modbus_Master. 1) I moduli di comunicazione PtP si comportano secondo la specifica Modbus. Per ottenere un comportamento standard come in CP 341, CP e ET 200SP 1SI per Modbus utilizzare il parametro "Compatibility_Mode". Il programma utente può scrivere valori nelle variabili Blocked_Proc_Timeout e Extended_Addressing per comandare il funzionamento del master Modbus. Manuale di guida alle funzioni, 12/2017, A5E AB 133

135 Regole per la comunicazione del Modbus-Master È necessario eseguire Modbus_Comm_Load per configurare una porta con la quale possa comunicare l'istruzione Modbus_Master. Perché una porta possa essere utilizzata come master Modbus, non deve essere utilizzata da Modbus_Slave. Con questa porta si possono utilizzare una o più istanze di Modbus_Master 1). Tuttavia tutte le esecuzioni di Modbus_Master devono utilizzare lo stesso DB di istanza per la porta. Le istruzioni Modbus non fanno uso di eventi di allarme della comunicazione per il comando del processo di comunicazione. Il programma utente deve interrogare gli ordini conclusi con l'istruzione Modbus_Master (DONE, ERROR). Si consiglia di richiamare tutte le esecuzioni di Modbus_Master per una determinata porta da un OB di ciclo del programma. Le istruzioni master Modbus possono essere eseguite solo in un ciclo di programma per volta o in un livello di elaborazione ciclico/temporizzato. Non è consentito eseguirle in diversi livelli di elaborazione. L'interruzione di un'istruzione master Modbus da parte di un'altra istruzione master Modbus in un livello di elaborazione con priorità maggiore causa un funzionamento irregolare. Le istruzioni master Modbus non devono essere elaborate nei livelli di avviamento, diagnostica o errore temporale. 1) Per "istanza del master Modbus" si intende qui un richiamo dell'istruzione Modbus_Master con lo stesso collegamento a un'istruzione Modbus_Comm_Load e la stessa impostazione dei parametri MB_ADDR, MODE, DATA_ADDR e DATA_LEN. Esempio: Modbus_Master viene richiamato con MODE=0 e DATA_ADDR=10 Questo ordine è ora attivo finché non si conclude con DONE=1 o ERROR=1 o finché non è scaduto il tempo di controllo risposta parametrizzato nel parametro Blocked_Proc_Timeout. Se al termine del tempo di controllo risposta si avvia un nuovo ordine prima che sia concluso l'ordine precedente, l'ordine precedente si interrompe senza messaggi di errore. Se ora, mentre questo ordine è in corso, l'istruzione viene richiamata una seconda volta con gli stessi dati di istanza ma altre impostazioni dei parametri MODE e DATA_ADDR, questo secondo richiamo viene concluso con ERROR=1 e STATUS=8200. Richiamo dell'istruzione Modbus_Master con diverse impostazioni dei parametri Se si devono collocare nel programma utente diversi richiami dell'istruzione Modbus_Master con diverse impostazioni per MB_ADDR, MODE, DATA_ADDR oppure DATA_LEN, è necessario assicurarsi che sia attivo sempre solo uno di questi richiami per volta perchè in caso contrario viene emesso il messaggio di errore 16#8200 (interfaccia occupata da una richiesta in corso). Se non è possibile elaborare un richiamo per intero viene attivato il tempo di controllo risposta attraverso il parametro Blocked_Proc_Timeout e l'ordine in corso si conclude. Parametro REQ FALSE = Nessuna richiesta; TRUE = Richiesta di trasmissione dati allo slave Modbus Abilitazione della trasmissione richiesta. In questo modo il contenuto del buffer viene trasferito all'interfaccia di comunicazione punto a punto. 134 Manuale di guida alle funzioni, 12/2017, A5E AB

136 Con i parametri DATA_ADDR e MODE si seleziona il tipo di codice funzione Modbus. DATA_ADDR (indirizzo Modbus iniziale nello slave): indica l'indirizzo iniziale dei dati a cui accedere nello slave Modbus. L'istruzione Modbus_Master utilizza un ingresso MODE anziché un ingresso di codice funzione. La combinazione di MODE e DATA_ADDR definisce il codice funzione utilizzato nel telegramma Modbus effettivo. La tabella seguente mostra l'assegnazione tra il parametro MODE, il codice funzione Modbus e l'area indirizzi Modbus in DATA_ADDR. Tabella 5-17 Funzioni Modbus MODE DATA_ADDR (indirizzo Modbus) DATA_LEN (lunghezza dei dati) Codice funzione Modbus Operazione e dati 0 Bit per richiesta 01 Lettura dei bit di uscita: / Bit per richiesta 02 Lettura dei bit di ingresso: / Parole per richiesta 03 Lettura del registro di mantenimento: / / Parole per richiesta 04 Lettura delle parole di ingresso: / Bit per richiesta 05 Scrittura di un bit di uscita: parola per richiesta 06 Scrittura di un registro di mantenimento: Bit per richiesta 15 Scrittura di diversi bit di uscita: / Parole per richiesta 16 Scrittura di diversi registri di mantenimento: / / Bit per richiesta 15 Scrittura di uno o più bit di uscita: / Parole per richiesta 16 Scrittura di uno o più registri di mantenimento: ) Manuale di guida alle funzioni, 12/2017, A5E AB 135

137 MODE DATA_ADDR (indirizzo Modbus) DATA_LEN (lunghezza dei dati) 11 Gli operandi DATA_ADDR e DATA_LEN di Modbus_Master vengono ignorati entrambi in questa funzione. Codice funzione Operazione e dati Modbus 11 Lettura della parola di stato e del contatore di eventi della comunicazione dello slave. La parola di stato indica 'occupato' (0 libero, 0xFFFF - occupato). Il contatore di eventi viene incrementato a ogni telegramma elaborato senza errori parola per richiesta 08 Verifica dello stato dello slave tramite codice di diagnostica dei dati 0x0000 (test di loopback; lo slave riporta la richiesta in eco) parola per richiesta 08 Reset del contatore di eventi dello slave tramite codice di diagnostica dei dati 0x000A Parole per richiesta 04 Lettura parole di ingresso / , , , Riservato 1 Con l'indirizzamento ampliato, vedere il parametro Extended_Adressing, la lunghezza max. dei dati si riduce di 1 byte o di 1 parola a seconda del tipo di dati della funzione. 2 MODE 2 consente di scrivere uno o più bit di uscita e uno o più holding register utilizzando le funzioni Modbus 15 e 16. MODE 1 utilizza le funzioni Modbus 5 e 6 per scrivere 1 bit di uscita e 1 holding register e le funzioni Modbus 15 e 16 per scrivere diversi bit di uscita e diversi holding register. 136 Manuale di guida alle funzioni, 12/2017, A5E AB

138 Parametro DATA_PTR Il parametro DATA_PTR punta all'indirizzo DB o M in cui scrivere o leggere. Se si utilizza un blocco dati è necessario creare un blocco dati globale che metta a disposizione la memoria dei dati per le operazioni di letture e scrittura su slave Modbus. Nota S7-1200/ Il blocco dati indirizzato tramite DATA_PTR deve consentire l'indirizzamento diretto Il blocco dati deve consentire l'indirizzamento diretto (assoluto) e simbolico. Nota Utilizzo del codice funzione 5 Il codice funzione 5 consente di impostare o eliminare un singolo bit. Per impostare un bit, nella prima parola dell'area DB o merker indirizzata tramite DATA_PTR deve essere indicato il valore "16#FF00". In S per l'impostazione di un bit può essere indicato anche il valore "16#0100". Per resettare un bit, nella prima parola dell'area DB o merker indirizzata tramite DATA_PTR deve essere indicato il valore "16#0000". Tutti gli altri valori vengono rifiutati con ERROR = TRUE e STATUS = 16#8384. Strutture dei blocchi dati per il parametro DATA_PTR Questi tipi di dati sono validi per la lettura di parole delle aree di indirizzi Modbus (DATA_PTR) da a 39999, da a e da a oltre che per la scrittura di parole delle aree di indirizzi Modbus (parametro DATA_PTR) da a e da a Array standard con tipo di dati WORD, UINT o INT Struttura di tipo WORD, UINT o INT definita da un nome nella quale ciascun elemento ha un nome univoco e un tipo di dati a 16 bit. Struttura complessa di tipo definita da un nome nella quale ciascun elemento ha un nome univoco e un tipo di dati a 16 o 32 bit. Per la lettura e scrittura di bit per l'area di indirizzi Modbus (parametro DATA_PTR) da a e la lettura di bit da a Campo standard da tipi di dati booleani. Struttura booleana definita da variabili definite in modo univoco. Benché non sia necessario è tuttavia consigliabile assegnare a ogni istruzione Modbus_Master un'area di memoria a parte. Questo perché se più istruzioni Modbus_Master leggono e scrivono nella stessa area di memoria è più probabile che i dati si corrompano. Non è necessario che le aree dati per DATA_PTR si trovino nello stesso blocco dati globale. È possibile creare un blocco dati con più aree per le operazioni di lettura Modbus, un blocco dati per le operazioni di scrittura Modbus o un blocco dati per ogni stazione slave. Manuale di guida alle funzioni, 12/2017, A5E AB 137

139 Versioni dell istruzione La versione 3.0 presenta le stesse funzioni della versione 2.4 ed è stata incrementata in ragione di misure interne. Vedere anche Modbus_Slave: Comunica come slave Modbus (Pagina 139) 138 Manuale di guida alle funzioni, 12/2017, A5E AB

140 Modbus_Slave Modbus_Slave: Comunica come slave Modbus Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Descrizione Con l'istruzione Modbus_Slave il programma utente può comunicare come slave Modbus attraverso un CM (RS422/485 o RS232). STEP 7 crea automaticamente un DB di istanza quando si inserisce l'istruzione. Il parametro MB_DB dell'istruzione Modbus_Comm_Load deve essere collegato con il parametro MB_DB (statico) dell'istruzione Modbus_Slave. Parametri Parametri Dichiarazione S7-1200/1500 Tipo di dati Standard Descrizione S7-300/400/ WinAC MB_ADDR IN UInt Word - Indirizzo della stazione slave Modbus: Area di indirizzi standard ( ) Area di indirizzi ampliata ( ) Avvertenza: 0 è l'indirizzo Broadcast COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione Modbus_Slave Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. Nota: questo parametro è disponibile solo per le istruzioni S7-300/400. Manuale di guida alle funzioni, 12/2017, A5E AB 139

141 Parametri MB_HOLD _REG Dichiarazione S7-1200/1500 Tipo di dati Standard Descrizione S7-300/400/ WinAC IN/OUT Variant Any - Puntatore al DB del registro di mantenimento Modbus: il registro di mantenimento Modbus può essere un'area di memoria dei merker o un blocco dati. A partire dalla versione dell istruzione V4.0: Il parametro deve puntare a un area di memoria con una lunghezza minima di 16 bit. Se la lunghezza è inferiore viene generato il messaggio di errore 16#8187. Ciò riguarda elementi Single, array, STRUCT e UDT. Il messaggio viene ad es. generato da un Single Bool o da un array costituito da meno di 16 elementi Bool. Se la lunghezza non è un multiplo di 16 bit, i bit rimanenti alla fine dell area di memoria dell istruzione Modbus_Slave non possono essere letti né scritti. il parametro può puntare a un area di memoria ottimizzata. Nell area di memoria ottimizzata è consentito un elemento Single o un array con i seguenti tipi di dati: Bool, Byte, Char, Word, Int, DWord, DInt, Real, USInt, UInt, UDInt, SInt, WChar. Ogni altro tipo di dati genera il messaggio di errore 16#818C. NDR OUT Bool FALSE Nuovi dati disponibili: FALSE Non sono disponibili nuovi dati TRUE Indica che il master Modbus ha scritto nuovi dati Il bit NDR è TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita senza errori. DR OUT Bool FALSE Lettura di dati: FALSE Non sono stati letti dati TRUE Indica che l'istruzione ha salvato nell'area di destinazione i dati ricevuti dal master Modbus. Il bit DR è TRUE per la durata di un ciclo dopo che l'ultima richiesta è stata eseguita senza errori. ERROR OUT Bool FALSE Il bit ERROR è TRUE per la durata di un ciclo dopo che l'ultima richiesta si è conclusa con errori. Se l'esecuzione si conclude con un errore, il codice di errore nel parametro STATUS è valido solo durante il ciclo in cui ERROR = TRUE. STATUS OUT Word 0 Codice di errore (vedere Messaggi di errore (Pagina 158)) 140 Manuale di guida alle funzioni, 12/2017, A5E AB

142 I codici funzione della comunicazione Modbus (1, 2, 4, 5 e 15) possono leggere e scrivere bit e parole direttamente nell'immagine di processo degli ingressi e delle uscite della CPU. Per questi codici funzione il parametro MB_HOLD_REG deve essere definito come tipo di dati maggiore di un byte. La tabella seguente mostra un esempio di assegnazione degli indirizzi Modbus all'immagine di processo nella CPU. Tabella 5-18 Assegnazione degli indirizzi Modbus all'immagine di processo Funzioni Modbus S Codice Funzione Area dati Area indirizzi Area dati Indirizzo CPU 01 Leggi bit Uscita Immagine di processo Q Q delle uscite 02 Leggi bit Ingresso Immagine di processo I I degli ingressi 04 Leggi parole Ingresso Immagine di processo IW0... IW1022 degli ingressi 05 Scrivi bit Uscita Immagine di processo Q Q delle uscite 15 Scrivi bit Uscita Immagine di processo delle uscite Q Q Tabella 5-19 Assegnazione degli indirizzi Modbus all'immagine di processo Codice di funzione Funzioni Modbus S / S7-300 / S7-400 Funzione Area dati Area indirizzi Area dati Indirizzo CPU 01 Leggi bit Uscita Immagine di processo delle uscite 02 Leggi bit Ingresso Immagine di processo degli ingressi 04 Leggi parole Ingresso Immagine di processo degli ingressi 05 Scrivi bit Uscita Immagine di processo delle uscite 15 Scrivi bit Uscita Immagine di processo delle uscite Q A I E IW0... IW19996 Q A Q A Nota A seconda della configurazione di memoria della CPU l'area di indirizzi disponibile può anche essere più piccola. Manuale di guida alle funzioni, 12/2017, A5E AB 141

143 I codici funzione della comunicazione Modbus (3, 6, 16) utilizzano un registro di mantenimento Modbus che può essere un'area di indirizzi della memoria dei merker o un blocco dati. Il tipo di registro di mantenimento è specificato dal parametro MB_HOLD_REG dell'istruzione Modbus_Slave. Nota S7-1200/ Tipo di blocco dati MB_HOLD_REG Un blocco dati con registro di mantenimento Modbus deve consentire l'indirizzamento diretto (assoluto) e simbolico. Tabella 5-20 Funzioni di diagnostica Funzioni di diagnostica Modbus di Modbus_Slave dell's Codici funzione Sottofunzione Descrizione H Emette i dati interrogati con il test dell'eco: l'istruzione Modbus_Slave restituisce a un master Modbus l'eco di una parola dati ricevuta AH Elimina il contatore di eventi di comunicazione: l'istruzione Modbus_Slave elimina il contatore degli eventi di comunicazione utilizzato per la funzione Modbus Richiama il contatore di eventi di comunicazione: l'istruzione Modbus_Slave utilizza un contatore interno degli eventi di comunicazione per registrare il numero di richieste di lettura e scrittura Modbus senza errori che vengono inviate allo slave Modbus. Il contatore non viene incrementato per le funzioni 8 e 11 né per le richieste Broadcast. Il contatore non viene incrementato nemmeno in caso di richieste che causano errori di comunicazione (ad es. errori di parità o di CRC). L'istruzione Modbus_Slave supporta le richieste di scrittura Broadcast dei master Modbus purché prevedano l'accesso a indirizzi validi. Per i codici funzione non supportati dalla funzione Broadcast Modbus_Slave genera il codice di errore 16# Manuale di guida alle funzioni, 12/2017, A5E AB

144 Variabili dello slave Modbus nella versione V3.0 dell istruzione La tabella mostra le variabili statiche pubbliche contenute nel DB di istanza di Modbus_Slave utilizzabili nel programma utente. Tabella 5-21 Variabili dello slave Modbus Variabile Tipo di Standard Descrizione dati HR_Start_Offset Word 0 Indica l'indirizzo iniziale del registro di mantenimento Modbus (standard = 0) QB_Start Word 0 Indirizzo iniziale dell'area di indirizzi editabile ammessa delle uscite (byte ) Nota: questa variabile non è disponibile per S7-300, S7-400 e WinAC. QB_Count Word 0xFFFF Numero di byte di uscita editabili tramite il master Modbus. Nota: questa variabile non è disponibile per S7-300, S7-400 e WinAC. Extended_Addressing Bool FALSE Indirizzamento ampliato, configura l'indirizzamento dello slave a byte singolo o doppio (FALSE = indirizzo a byte singolo, TRUE = indirizzo a doppio byte) Request_Count Word 0 Numero di richieste totali ricevute da questo slave Slave_Message_Count Word 0 Numero di richieste ricevute per questo slave specifico Bad_CRC_Count Word 0 Numero di richieste ricevute che presentano un errore CRC Broadcast_Count Word 0 Numero di richieste Broadcast ricevute Exception_Count Word 0 Errori specifici di Modbus che vengono confermati al master con un Exception Success_Count Word 0 Numero di richieste ricevute per questo slave specifico senza errori di protocollo MB_DB MB _BASE - Il parametro MB_DB dell'istruzione Modbus_Comm_Load deve essere collegato con questo parametro MB_DB dell'istruzione Modbus_Master. Il programma utente può scrivere valori nelle variabili HR_Start_Offset e Extended_Addressing e comandare il funzionamento dello slave Modbus. Le altre variabili si possono leggere per controllare lo stato Modbus. Manuale di guida alle funzioni, 12/2017, A5E AB 143

145 Regole per la comunicazione dello slave Modbus È necessario eseguire Modbus_Comm_Load per configurare una porta attraverso la quale possa comunicare l'istruzione Modbus_Slave. La porta che deve rispondere come slave a un master Modbus non può essere programmata con l'istruzione Modbus_Master. Con una determinata porta è consentito utilizzare una sola istanza di Modbus_Slave ; in caso contrario potrebbe verificarsi un comportamento imprevisto. Le istruzioni Modbus non fanno uso di eventi di allarme della comunicazione per il comando del processo di comunicazione. Per comandare il processo di comunicazione il programma utente deve interrogare le operazioni di trasmissione e ricezione concluse utilizzando l'istruzione Modbus_Slave. L'istruzione Modbus_Slave deve essere eseguita periodicamente con una frequenza che consenta di reagire tempestivamente alle richieste provenienti da un master Modbus. Si consiglia di richiamare Modbus_Slave in ogni ciclo da un OB di ciclo di programma. È possibile ma non consigliabile eseguire Modbus_Slave da un OB di schedulazione orologio a causa di eccessivi ritardi nella routine di interrupt che potrebbero bloccare temporaneamente l'esecuzione di altre routine di interrupt. Temporizzazione del segnale Modbus Modbus_Slave deve essere eseguita periodicamente, in modo da ricevere tutte le richieste dal master Modbus e rispondere in modo adeguato. La frequenza di esecuzione di Modbus_Slave dipende dal timeout predefinito dal master Modbus per la risposta. Questo rapporto è rappresentato nella figura seguente. Il periodo di timeout per la risposta (RESP_TO) indica per quanto tempo un master Modbus resta in attesa che lo slave Modbus inizi a inviare una risposta. Questo intervallo di tempo non viene definito dal protocollo Modbus ma da un parametro dell'istruzione Modbus_Comm_Load. Poiché sia la ricezione che la trasmissione di un telegramma richiedono diversi richiami dell'istruzione Modbus_Slave (minimo tre ciascuna), è necessario eseguire Modbus_Slave almeno dodici volte durante il periodo di timeout per la risposta del master Modbus perché la ricezione e la trasmissione dei dati da parte dello slave Modbus venga eseguita il doppio di volte di quanto predefinito dal periodo di timeout. 144 Manuale di guida alle funzioni, 12/2017, A5E AB

146 HR_Start_Offset Gli indirizzi del registro di mantenimento Modbus iniziano da o Questi indirizzi corrispondono all'indirizzo iniziale del registro di mantenimento nella memoria del sistema di destinazione. È comunque possibile configurare la variabile HR_Start_Offset per configurare un indirizzo iniziale del registro di mantenimento Modbus diverso da o L'indirizzo 0 nel telegramma di ricezione corrisponde all'indirizzo iniziale del registro di mantenimento nella memoria del sistema di destinazione. La variabile HR_Start_Offset consente di configurare un indirizzo iniziale diverso da 0 per il registro di mantenimento Modbus. Ad es. è possibile configurare un registro di mantenimento che inizia da MW100 e ha una lunghezza di 100 parole. Con HR_Start_Offset = 20 l'indirizzo 20 nel telegramma di ricezione corrisponde all'indirizzo iniziale del registro di mantenimento nella memoria di destinazione (MW100). Ogni indirizzo nel telegramma di ricezione, inferiore a 20 e superiore a 119, causerà un errore di indirizzamento. Tabella 5-22 Esempio di indirizzamento del registro di mantenimento Modbus se DATA_PTR è un puntatore rivolto verso MW100 con una lunghezza di 100 parole HR_Start_Offset Indirizzo Minimo Massimo 0 Indirizzo Modbus (parola) 0 99 Indirizzo S MW100 MW Indirizzo Modbus (parola) Indirizzo S MW100 MW298 HR_Start_Offset è un valore di parola che indica l'indirizzo iniziale del registro di mantenimento Modbus ed è salvato nel blocco dati di istanza Modbus_Slave. Questa variabile statica pubblica si può selezionare dalla casella di riepilogo dei parametri dopo aver inserito Modbus_Slave nel programma utente. Ad esempio, se Modbus_Slave è inserita in un segmento KOP si può passare a un segmento precedente e assegnare il valore HR_Start_Offset con il comando MOVE. È necessario assegnare il valore prima di eseguire Modbus_Slave. Inserimento di una variabile slave Modbus utilizzando il nome del DB standard: 1. Posizionare il cursore nel campo del parametro OUT1 e scrivere una 'm'. 2. Selezionare nella casella di riepilogo il DB di istanza desiderato dell'istruzione Modbus_Slave. 3. Posizionare il cursore a destra del nome del DB (dopo le virgolette) e inserire un punto. 4. Selezionare "Modbus_Slave_DB.HR_Start_Offset" nella casella di riepilogo. Versioni dell istruzione La versione 4.0 presenta le stesse funzioni della versione 3.0 ed è stata incrementata in ragione di misure interne. Manuale di guida alle funzioni, 12/2017, A5E AB 145

147 Accesso alle aree di dati dei DB invece dell'accesso diretto agli indirizzi MODBUS dalla versione V5.0 Accesso alle aree dati nei DB al posto dell accesso diretto agli indirizzi MODBUS a partire dalla versione V4.0 A partire dalla versione V4.0 dell istruzione Modbus_Slave e dalle versioni del firmware V2.5 (CPU S7-1500) e V4.2 (CPU S7-1200), anziché accedere direttamente alle immagini di processo e ai registri di mantenimento è possibile accedere alle aree dati nei DB. In questo caso l attributo "Accesso al blocco ottimizzato" deve essere disattivato per il DB e il DB non deve trovarsi soltanto nella memoria di caricamento. Se si riceve una richiesta MODBUS e non è stata definita l'area dati per il tipo di dati MODBUS del codice di errore corrispondente, la richiesta viene gestita come nelle versioni precedenti dell'istruzione, ovvero l'istruzione accede direttamente alle immagini di processo e ai registri di mantenimento. Se è stata invece definita un area dati per il tipo di dati MODBUS del codice funzione, l istruzione Modbus_Slave legge o scrive i dati in questa area, a seconda del tipo di ordine. Una singola richiesta MODBUS può leggere e scrivere in una sola area dati. Per poter leggere o scrivere ad esempio in registri di mantenimento che comprendono più aree dati, si devono quindi utilizzare più richieste MODBUS. Regole per la definizione delle aree dati È possibile definire fino a un massimo di otto aree dati in DB diversi, ciascun DB può contenere un'unica area dati. Una singola richiesta MODBUS può essere letta soltanto da un'area dati definita o scrivere soltanto in un'area dati definita Ogni area dati corrisponde a un'area di indirizzi MODBUS. La definizione viene effettuata nella variabile statica Data_Area_Array del DB di istanza; Data_Area_Array è un campo costituito da otto elementi. Se si intende utilizzare meno di otto aree dati, queste ultime devono trovarsi in una sequenza priva di spazi vuoti. L'ultima casella vuota nell'area dati chiude la ricerca durante l'elaborazione. Ad esempio, se si definiscono gli elementi 1, 2, 4 e 5 del campo, vengono rilevati solo gli elementi 1 e 2 perché il 3 è vuoto. Il campo Data_Area_Array è costituito da 8 elementi: Data_Area_Array[1] Data_Area_Array[8] 146 Manuale di guida alle funzioni, 12/2017, A5E AB

148 Ogni elemento del campo Data_Area_Array[x], 1 <= x <= 8, è un UDT di tipo MB_DataArea e ha la seguente struttura: Parametri Data _type Tipo di dati UInt Significato Identificativo del tipo di dati MODBUS rappresentato in questa area dati: 0: identificativo degli elementi vuoti ovvero delle aree dati inutilizzate. In questo caso i valori db, start e length sono irrilevanti. 1: immagine di processo delle uscite (utilizzata dai codici funzione 1, 5 e 15) 2: immagine di processo degli ingressi (utilizzata dal codice funzione 2) 3: registro di mantenimento (utilizzato dai codici funzione 3, 6 e 16) 4: registro degli ingressi (utilizzato dal codice funzione 4) Avvertenza: se è stata definita un'area dati per un tipo di dati MODBUS l'istruzione MB_SERVER non può più accedervi direttamente. Se l'indirizzo della richiesta MODBUS per il tipo di dati non corrisponde a un'area dati definita, viene restituito in STATUS il valore W#16#8383. db UInt Numero del blocco dati in cui vengono rappresentati i registri MODBUS o i bit definiti di seguito. Il numero DB nelle aree dati deve essere univoco. Il medesimo numero DB non deve essere definito in più aree dati. Il DB deve essere un DB con accesso standard e non deve trovarsi solo nella memoria di caricamento. Le aree dati iniziano sempre con l'indirizzo di byte 0 del DB. Valori consentiti: start UInt Primo indirizzo MODBUS rappresentato nell'area dati a partire dall'indirizzo 0.0. Valori consentiti: length UInt Numero di bit (per i valori 1 e 2 di data_type) o numero di registri (per i valori 3 e 4 di data_type). Le aree degli indirizzi MODBUS che hanno lo stesso tipo di dati MODBUS non devono sovrapporsi. Valori consentiti: Esempi di definizione delle aree dati Primo esempio: data_type = 3, db = 1, start = 10, length = 6 I registri di mantenimento (data_type = 3) vengono rappresentati nel blocco dati 1 (db = 1). L'indirizzo Modbus 10 (start = 10) si trova nella parola di dati 0. L'ultimo indirizzo Modbus 15 valido (length = 6) si trova nella parola di dati 5. Secondo esempio: data_type = 2, db = 15, start = 1700, length = 112 Gli ingressi (data_type = 2) vengono rappresentati nel blocco dati 15 (db = 15). L'indirizzo Modbus 1700 (start = 1700) si trova nella parola di dati 0. L'ultimo indirizzo Modbus 1811 valido (length = 112) si trova nella parola di dati 111. Manuale di guida alle funzioni, 12/2017, A5E AB 147

149 Limitazione dell'accesso in lettura alle immagini di processo dalla versione V5.0 Limitazione dell'accesso in lettura alle immagini di processo A partire dalla versione V4.0 dell istruzione Modbus_Slave è possibile definire nell immagine di processo degli ingressi e delle uscite un area accessibile in lettura dai dispositivi MODBUS remoti. In questo caso i dispositivi MODBUS remoti non possono più accedere agli indirizzi che si trovano all'esterno delle aree definite. Nota Limitazione dell'accesso in scrittura alle immagini di processo A partire dalla versione V3.0 dell istruzione è possibile limitare l accesso in scrittura all immagine di processo delle uscite a una determinata area. Definizione delle aree di lettura delle immagini di processo Le aree di lettura delle immagini di processo possono essere definite nelle seguenti variabili statiche del DB di istanza: QB_Read_Start: indirizzo del primo byte dell'immagine di processo delle uscite che può essere letto da un dispositivo MODBUS remoto (vale per il codice 1 della funzione) QB_Read_Count: numero dei byte dell'immagine di processo delle uscite che possono essere letti da un dispositivo MODBUS remoto (vale per il codice 1 della funzione) IB_Read_Start: indirizzo del primo byte dell'immagine di processo degli ingressi che può essere letto da un dispositivo MODBUS remoto (vale per i codici 2 e 4 della funzione) IB_Read_Count: numero dei byte dell'immagine di processo degli ingressi che possono essere letti da un dispositivo MODBUS remoto (vale per i codici 2 e 4 della funzione) Variabili statiche del DB di istanza per la definizione delle aree di lettura e di scrittura delle immagini di processo La seguente tabella descrive le variabili statiche del DB di istanza dell istruzione Modbus_Slave sopra descritte con le quali si definiscono le aree di lettura nelle immagini di processo. Per maggiore completezza sono indicate anche le variabili statiche con le quali, a partire dalla versione V3.0, si definiscono le aree di scrittura nelle immagini di processo (QB_Start e QB_Count). Variabile Tipo di dati Valore di avvio QB_Start UInt 0 QB_Count UInt QB_Read_Start UInt 0 QB_Read_Count UInt IB_Read_Start UInt 0 IB_Read_Count UInt Manuale di guida alle funzioni, 12/2017, A5E AB

150 Struttura del telegramma Extended_Addressing L'accesso alla variabile Extended_Addressing è simile a quello del riferimento HR_Start_Offset, a parte il fatto che la variabile Extended_Addressing è un valore booleano. Per l'indirizzamento dello slave Modbus è possibile configurare, con Extended_Adressing = FALSE, un unico byte (standard Modbus) o un doppio byte (Extended_Adressing = TRUE). L'indirizzamento ampliato consente di indirizzare più di 247 dispositivi all'interno di un'unica rete. Extended_Adressing = TRUE consente l'accesso a max indirizzi. Qui di seguito è riportato un esempio di telegramma Modbus. Tabella 5-23 Indirizzo slave a un byte (byte 0) Richiesta Risposta valida Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Indirizzo Codice Indirizzo iniziale Dati slave funzione Indirizzo slave Codice funzione Lunghezza Dati... Messaggio di errore Indirizzo slave 0xxx Exception code Tabella 5-24 Indirizzo slave a due byte (byte 0 e 1) Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Richiesta Indirizzo slave Codice funzione Indirizzo iniziale Dati Risposta valida Indirizzo slave Codice funzione Lunghezza Dati... Messaggio di errore Indirizzo slave 0xxx Exception code Descrizione dei telegrammi Il traffico dei dati tra master e slave ovvero tra slave e master inizia con l'indirizzo slave seguito dal codice funzione. Successivamente vengono trasmessi i dati. La struttura del campo dati varia a seconda del codice funzione utilizzato. Alla fine del telegramma viene trasmessa la somma di controllo (CRC). Manuale di guida alle funzioni, 12/2017, A5E AB 149

151 Codice funzione 1 - Questa funzione consente di leggere singoli bit di uscita Tabella 5-25 FC 1 - Lettura dei bit di uscita Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Richiesta Indirizzo slave Codice funzione 1 Risposta valida Indirizzo slave Codice funzione 1 Messaggio di errore Indirizzo iniziale Lunghezza 1 Dati di uscita 3) Indirizzo slave 0x81 Exception code Numero di uscite 1 Lunghezza: se il numero delle uscite diviso per 8 dà un resto è necessario aumentare di 1 il numero dei byte. 2 Codice E: 01 o 02 o 03 o 04 3 I dati di uscita possono comprendere diversi byte Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Richiesta Indirizzo slave Codice funzione 1 Risposta valida Messaggio di errore Indirizzo slave Codice funzione 1 Lunghezza 1 Indirizzo slave 0x81 Exception code 2 Indirizzo iniziale Numero di uscite Dati di uscita 1 Lunghezza: se il numero delle uscite diviso per 8 dà un resto è necessario aumentare di 1 il numero dei byte. 2 Codice E: 01 o 02 o 03 o 04 3 I dati di uscita possono comprendere diversi byte Manuale di guida alle funzioni, 12/2017, A5E AB

152 Codice funzione 2 - Questa funzione consente di leggere singoli bit di ingresso Tabella 5-26 FC 2 - Lettura dei bit di ingresso Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Richiesta Indirizzo slave Codice funzione 2 Risposta valida Indirizzo slave Codice funzione 2 Messaggio di errore Lunghezza 1 Indirizzo iniziale Numero degli ingressi Dati di ingresso Indirizzo slave 0x82 Exception code Lunghezza: se il numero degli ingressi diviso per 8 dà un resto è necessario aumentare di 1 il numero dei byte. 2 Codice E: 01 o 02 o 03 o 04 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Richiesta Indirizzo slave Codice funzione 2 Risposta valida Messaggio di errore Indirizzo slave Codice funzione 2 Lunghezza 1 Indirizzo slave 0x82 Exception code 2 Indirizzo iniziale Numero degli ingressi Dati di ingresso 1 Lunghezza: se il numero degli ingressi diviso per 8 dà un resto è necessario aumentare di 1 il numero dei byte. 2 Codice E: 01 o 02 o 03 o Manuale di guida alle funzioni, 12/2017, A5E AB 151

153 Codice funzione 3 - Questa funzione consente di leggere singoli registri Tabella 5-27 FC 3 - Lettura del registro di mantenimento Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Richiesta Indirizzo slave Codice funzione 3 Risposta valida Indirizzo slave Codice funzione 3 Messaggio di errore 1 Lunghezza: numero dei byte 2 Codice E: 01 o 02 o 03 o 04 Lunghezza 1 Indirizzo iniziale Numero di registri Dati di registro Indirizzo slave 0x83 Exception code Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Richiesta Indirizzo slave Codice funzione 3 Risposta valida Messaggio di errore Indirizzo slave 1 Lunghezza: numero dei byte 2 Codice E: 01 o 02 o 03 o 04 Codice funzione 3 Lunghezza 1 Indirizzo slave 0x83 Exception code 2 Indirizzo iniziale Numero di registri Dati di registro Manuale di guida alle funzioni, 12/2017, A5E AB

154 Codice funzione 4 - Questa funzione consente di leggere singoli registri Tabella 5-28 FC 4 - Lettura delle parole di ingresso Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Richiesta Indirizzo slave Codice funzione 4 Risposta valida Indirizzo slave Codice funzione 4 Messaggio di errore Lunghezza 1 Indirizzo iniziale Numero di parole di ingresso Dati di ingresso Indirizzo slave 0x84 Exception code Lunghezza: 2 * numero di parole di ingresso 2 Codice E: 01 o 02 o 03 o 04 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Richiesta Indirizzo slave Codice funzione 4 Risposta valida Messaggio di errore Indirizzo slave 1 Lunghezza: 2 * numero di parole di ingresso 2 Codice E: 01 o 02 o 03 o 04 Codice funzione 4 Lunghezza 1 Indirizzo slave 0x84 Exception code 2 Indirizzo iniziale Numero di parole di ingresso Dati di ingresso --- Manuale di guida alle funzioni, 12/2017, A5E AB 153

155 Codice funzione 5 - Questa funzione consente di impostare o eliminare un singolo bit Tabella 5-29 FC 5 - Scrittura di un bit di uscita Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Richiesta Indirizzo slave Codice funzione 5 Risposta valida Indirizzo slave Codice funzione 5 Messaggio di errore 1 Codice E: 01 o 02 o 03 o 04 Lunghezza Indirizzo iniziale Valore Indirizzo slave 0x85 Exception code Valore Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Richiesta Indirizzo slave Codice funzione 5 Risposta valida Messaggio di errore 1 Codice E: 01 o 02 o 03 o 04 Indirizzo slave Codice funzione 5 Lunghezza Indirizzo slave 0x85 Exception code 1 Indirizzo iniziale Valore --- Valore Codice funzione 6 - Questa funzione consente di scrivere singoli registri Tabella 5-30 FC 6 - Scrittura del registro di mantenimento Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Richiesta Indirizzo slave Codice funzione 6 Risposta valida Indirizzo slave Codice funzione 6 Messaggio di errore 1 Codice E: 01 o 02 o 03 o 04 Indirizzo Indirizzo Indirizzo slave 0x86 Exception code Scheda Scheda Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Richiesta Indirizzo slave Codice funzione 6 Risposta valida Messaggio di errore Indirizzo slave 1 Codice E: 01 o 02 o 03 o 04 Codice funzione 6 Indirizzo slave 0x86 Exception code 1 Indirizzo Indirizzo --- Scheda Scheda 154 Manuale di guida alle funzioni, 12/2017, A5E AB

156 Codice funzione 8 - Questa funzione consente di controllare il collegamento di comunicazione Tabella 5-31 FC 8 - Stato dello slave Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Richiesta Indirizzo slave Codice funzione 8 Risposta valida Indirizzo slave Codice funzione 8 Messaggio di errore 1 Codice E: 01 o 03 o 04 Codice di diagnostica Codice di diagnostica Indirizzo slave 0x88 Exception code Valore di test Valore di test Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Richiesta Indirizzo slave Codice funzione 8 Risposta valida Messaggio di errore 1 Codice E: 01 o 03 o 04 Indirizzo slave Codice funzione 8 Indirizzo slave 0x88 Exception code 1 Codice di diagnostica Codice di diagnostica --- Valore di test Valore di test Codice funzione 11 - Questa funzione consente di leggere "Status-Word" di 2 byte e un "Event-Counter" di 2 byte Tabella 5-32 FC 11 - Contatore di eventi della comunicazione slave Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Richiesta Indirizzo slave Codice funzione 11 Risposta valida Indirizzo slave Codice funzione 11 Messaggio di errore 1 Codice E: 01 o 04 Stato Indirizzo slave 0x8B Exception code Contatore di eventi Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Richiesta Indirizzo slave Codice funzione Risposta valida Indirizzo slave Codice funzione 11 Stato Contatore di eventi Messaggio di errore 1 Codice E: 01 o 04 Indirizzo slave 0x8B Exception code Manuale di guida alle funzioni, 12/2017, A5E AB 155

157 Codice funzione 15 - Questa funzione consente di scrivere diversi bit Tabella 5-33 FC 15 - Scrittura di uno/più bit di uscita Richiesta Risposta valida Messaggio di errore Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte n Indirizzo slave Indirizzo slave Indirizzo slave Codice funzione 15 Codice funzione 15 0x8F Indirizzo iniziale Indirizzo iniziale Exception code 2 Numero di parole di uscita Numero di parole di uscita Contatore di byte Valore 1 Contatore di byte: se il numero dei byte diviso per 8 dà un resto è necessario aumentare di 1 il numero dei byte. 2 Codice E: 01 o 02 o 03 o 04 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Byte n Richiesta Indirizzo slave Codice funzione 15 Indirizzo iniziale Numero di parole di uscita Contatore di byte 1 Valore Risposta valida Messaggio di errore Indirizzo slave Codice funzione 15 Indirizzo iniziale Numero di parole di uscita Indirizzo slave 0x8F Exception code Contatore di byte: se il numero dei byte diviso per 8 dà un resto è necessario aumentare di 1 il numero dei byte. 2 Codice E: 01 o 02 o 03 o Manuale di guida alle funzioni, 12/2017, A5E AB

158 Codice funzione 16 - Questa funzione consente di scrivere uno o più registri Tabella 5-34 FC 16 - Scrittura di uno/più registri di mantenimento Richiesta Risposta valida Messaggio di errore Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte n Indirizzo slave Indirizzo slave Indirizzo slave Codice funzione 16 Codice funzione 16 0x90 Indirizzo iniziale Numero di registri Contatore di byte 1 Indirizzo iniziale Numero di registri --- Exception code Valore 1 Contatore di byte: numero di registri * 2 2 Codice E: 01 o 02 o 03 o 04 Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Byte n Richiesta Indirizzo slave Codice funzione 16 Indirizzo iniziale Numero di registri Contatore di byte 1 Valore Risposta valida Messaggio di errore Indirizzo slave Codice funzione 16 Indirizzo iniziale Numero di registri --- Indirizzo slave 0x90 Exception code Contatore di byte: numero di registri * 2 2 Codice E: 01 o 02 o 03 o 04 Manuale di guida alle funzioni, 12/2017, A5E AB 157

159 Messaggi di errore Panoramica dei messaggi di errore PtP I messaggi di errore vengono messi a disposizione nell'uscita STATUS di un'istruzione e possono essere valutati lì o elaborati nel programma utente. Codice di Descrizione Rimedio errore 16#0000 Nessun errore - Stato di RECEIVE e codici di errore 16#0094 Fine del telegramma riconosciuta dalla "ricezione di - una lunghezza fissa/massima del telegramma" 16#0095 Fine del telegramma riconosciuta dal "Time out dei - messaggi" 16#0096 Fine del telegramma riconosciuta dallo scadere del - "Tempo di ritardo del carattere" 16#0097 Il telegramma è stato interrotto poiché è stato raggiunto - il tempo di risposta massimo. 16#0098 Fine del telegramma riconosciuta perché sono soddisfatte - le condizioni per "Rileva la lunghezza dal mes- saggio" 16#0099 Fine del telegramma riconosciuta dalla ricezione della "Sequenza di fine" - Stato di SEND e codici di errore 16#7000 Blocco nel funzionamento a vuoto - 16#7001 Primo richiamo di un nuovo telegramma: trasmissione - dei dati avviata 16#7002 Richiamo intermedio: trasmissione dei dati in corso - 16#8085 Lunghezza indicata non consentita Selezionare una lunghezza del telegramma appropriata. Sono consentiti (in funzione del modulo): /2048/4096 (Byte) 16#8088 La lunghezza indicata è maggiore dell'area impostata nel buffer di ricezione. Avvertenza: se nel parametro BUFFER è stato specificato il tipo di dati STRING, questo codice di errore viene visualizzato anche se la lunghezza della stringa attuale è minore del valore indicato nel parametro LENGTH. 16#8090 Errore di configurazione: Numero dispari di byte in WString Modificare l'area nel buffer di ricezione o selezionare una lunghezza del telegramma adeguata all'area impostata nel buffer di ricezione. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Scegliere un numero pari di byte. 158 Manuale di guida alle funzioni, 12/2017, A5E AB

160 Codice di errore Descrizione Stato di RECEIVE e codici di errore 16#7002 Richiamo intermedio: Trasferimento dati in corso - 16#8088 Il numero di caratteri ricevuti è maggiore di quanto indicato nel parametro BUFFER. 16#8090 Errore di configurazione: Numero dispari di byte in WString Codici di segnalazione degli errori delle funzioni speciali 16#818F Impostazione errata per il numero del parametro (solo per USS) Rimedio Selezionare una lunghezza del telegramma appropriata. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Scegliere un numero pari di byte. Selezionare un numero di parametro adeguato (PARAM). Sono consentiti: #8190 Impostazione errata del calcolo CRC Selezionare un valore adeguato per il calcolo CRC. Sono consentiti: disattivato o attivato. Verificare se il modulo indirizzato supporta il calcolo CRC. 16#8191 Impostazione errata dell'allarme di diagnostica Selezionare un valore adatto per "Allarme di diagnostica". Sono consentiti: allarme di diagnostica disattivato o attivato. Verificare se il modulo indirizzato supporta la generazione di allarmi di diagnostica. 16#8193 Il modulo non supporta la diagnostica della tensione di alimentazione L+. Selezionare un valore adatto per "Allarme di diagnostica". Sono consentiti: allarme di diagnostica disattivato o attivato. Verificare se il modulo indirizzato supporta la generazione degli allarmi di diagnostica. Manuale di guida alle funzioni, 12/2017, A5E AB 159

161 Codice di errore Descrizione Codici di segnalazione degli errori di configurazione della porta Rimedio 16#81A0 Il modulo non supporta questo protocollo. Selezionare un protocollo (PROTOCOL) consentito per il modulo. 16#81A1 Il modulo non supporta questa velocità di trasmissione dati. 16#81A2 Il modulo non supporta questa impostazione per la parità. Selezionare una velocità di trasmissione (BAUD) consentita per il modulo. Selezionare un valore adatto per "Parità" (PARITY). Sono consentiti: Nessuna (1) Pari (2) Dispari (3) Mark (4) Space (5) Qualsiasi (6) 16#81A3 Il modulo non supporta questo numero di bit di dati. Selezionare un valore adatto per "Numero di bit di dati" (DATABITS). Sono consentiti: 7 (2) 8 (1) 16#81A4 Il modulo non supporta questo numero di bit di stop. Selezionare un valore adatto per "Numero di bit di stop" (STOPBITS). Sono consentiti: 16#81A5 Il modulo non supporta questo tipo di controllo del flusso dati. 1 (1) 2 (2) Selezionare un controllo del flusso dati (FLOWCTRL) consentito per il modulo. 16#81A7 Valore non consentito per XON o XOFF Selezionare valori adatti per XON (XONCHAR) e XOFF(XOFFCHAR). Campo di valori ammesso: #81AA Modo di funzionamento non consentito I modi di funzionamento consentiti sono: Fullduplex (RS232) (0) Fullduplex (RS 422) a quattro fili (punto a punto) (1) / (CM PtP (ET 200SP)) Fullduplex (RS422) funzionamento a quattro fili (master multipoint) (2)/ (CM PtP (ET 200SP)) Fullduplex (RS422) funzionamento a quattro fili (Slave multipoint) (3) Semiduplex (RS485) funzionamento a 2 fili (4) 160 Manuale di guida alle funzioni, 12/2017, A5E AB

162 Codice di errore 16#81AB Descrizione Preimpostazione della linea di ricezione non consentita Rimedio Le preimpostazioni consentite sono: "Nessuna" preimpostazione (0) Segnale R(A)=5V, segnale R(B)=0 V (riconoscimento Break) (1): È disponibile solo nei seguenti casi: "Fullduplex (RS422) funzionamento a quattro fili (Punto a punto)" e "Fullduplex (RS422) funzionamento a quattro fili (Slave multipoint)". Segnale R(A)=0 V, segnale R(B)=5 V (2): questa preimpostazione corrisponde allo stato di riposo (nessuna trasmissione attiva). 16#81AC Valore non consentito per "Riconoscimento Break" Selezionare un valore adatto per "Riconoscimento Break". Sono consentiti: riconoscimento Break disattivato (0) riconoscimento Break attivo (1). 16#81AF Il modulo non supporta questo protocollo. Selezionare un protocollo consentito per il modulo. Codici di errore di configurazione della trasmissione 16#81B5 Più di 2 caratteri finali -osequenza di fine > 5 caratteri Selezionare valori adatti per "Carattere finale" e "Sequenza di fine". Sono consentiti: disattivato (0), 1 (1) o 2 (2) caratteri finali oppure disattivato (0), 1 (1)... 5 (5) caratteri per la sequenza di fine. 16#81B6 Send Configuration respinto perché è selezionato il protocollo 3964(R) Assicurarsi che con il protocollo 3964(R) impostato non venga inviata la configurazione della trasmissione. Manuale di guida alle funzioni, 12/2017, A5E AB 161

163 Codice di errore Descrizione Codici di errore di configurazione della ricezione Rimedio 16#81C0 Condizione iniziale non consentita Selezionare una condizione iniziale adatta. Sono consentiti: Invia Break prima dell'inizio del telegramma Invia Idle Line. 16#81C1 Condizione finale non consentita o non selezionata Selezionare una condizione finale adatta (vedere Ricezione di dati con Freeport (Pagina 41)). 16#81C3 Valore non consentito per "Lunghezza max. del messaggio" 16#81C4 Valore non consentito per "Offset del campo di lunghezza nel messaggio" 16#81C5 Valore non consentito per "Dimensioni del campo di lunghezza" Selezionare un valore adatto per "Lunghezza max. del messaggio" (MAXLEN). Campo di valori consentito (in funzione del modulo): /2048/4096 (byte) Selezionare un valore adatto per "Offset del campo di lunghezza nel messaggio". Campo di valori consentito (in funzione del modulo): /2048/4096 (byte) Selezionare un valore adatto per "Dimensioni del campo di lunghezza" (LENGTHSIZE). Campo valori consentito in byte: 1 (1) 2 (2) 4 (4) 16#81C6 Valore non consentito per "Numero dei caratteri che non rientrano nella lunghezza indicata" 16#81C7 La somma di "Offset del campo di lunghezza nel messaggio + Dimensioni del campo di lunghezza + Numero dei caratteri che non rientrano nella lunghezza indicata" supera la lunghezza massima del telegramma. Selezionare un valore adatto per "Nr. dei caratteri che non rientrano nella lunghezza indicata" (LENGTHM). Campo di valori ammesso: (byte) Selezionare valori adatti per "Offset del campo di lunghezza nel messaggio", "Dimensioni del campo di lunghezza" e "Numero dei caratteri che non rientrano nella lunghezza indicata". Campo di valori ammesso: Offset del campo di lunghezza nel messaggio (in funzione del modulo): /2048/4096 (byte) Dimensioni del campo di lunghezza: 1, 2 o 4 (byte) Numero dei caratteri che non rientrano nella lunghezza indicata: (byte) 16#81C8 Valore non consentito per "Time out di risposta" Selezionare un valore adatto per "Time out di risposta". Campo di valori ammesso: (ms) 16#81C9 Valore non consentito per "Tempo di ritardo del carattere" 16#81CB Sequenza di fine del telegramma attivata ma nessuno dei caratteri è attivato per la verifica Selezionare un valore adatto per "Tempo di ritardo del carattere". Campo di valori ammesso: (bit time) Attivare uno o più caratteri per la verifica. 162 Manuale di guida alle funzioni, 12/2017, A5E AB

164 Codice di errore 16#81CC Descrizione Sequenza di inizio del telegramma attivata ma nessuno dei caratteri è attivato per la verifica Rimedio Attivare uno o più caratteri per la verifica. 16#81CD Valore non consentito per "Impedisci sovrascrittura" Selezionare un valore adatto per "Impedisci sovrascrittura". Sono consentiti: Impedisci sovrascrittura disattivato (0) oppure Impedisci sovrascrittura attivato (1) 16#81CE Valore non consentito per "Cancella buffer di ricezione all'avviamento" Selezionare un valore adatto per "Cancella buffer di ricezione all'avviamento". Sono consentiti: Cancella buffer di ricezione all'avviamento disattivato (0) Cancella buffer di ricezione all'avviamento attivato (1) Stato di SEND e codici di errore 16#81D0 Ricezione di una richiesta di trasmissione durante l'esecuzione di un ordine di trasmissione Assicurarsi che durante l'esecuzione di un ordine di trasmissione non si verifichino ulteriori richieste di trasmissione. 16#81D1 Il tempo di attesa di XON o CTS = ON è scaduto. Il partner di comunicazione è disturbato, troppo lento oppure offline. Controllare il partner di comunicazione o modificare eventualmente la parametrizzazione. 16#81D2 "Hardware RTS sempre ON": ordine di trasmissione interrotto a causa della commutazione da DSR = ON a OFF 16#81D3 Overflow del buffer di trasmissione / telegramma di trasmissione troppo grande 16#81D5 Trasmissione interrotta per modifica della parametrizzazione, rilevamento della rottura di un conduttore o CPU in STOP 16#81D6 Trasmissione interrotta per mancata ricezione del carattere finale 16#81D7 Comunicazione disturbata tra programma utente e modulo 16#81D8 Tentativo di trasmissione respinto perché il modulo non è parametrizzato 16#81DF Per uno dei seguenti motivi, il modulo ha resettato l'interfaccia del FB: Il modulo è stato riavviato Il modulo è stato nuovamente parametrizzato STOP della CPU Controllare il partner di comunicazione. Assicurarsi che DSR sia impostato su ON per l'intera trasmissione. Selezionare una lunghezza del telegramma inferiore. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Verificare la parametrizzazione, la rottura conduttore e lo stato della CPU. Verificare la parametrizzazione dei caratteri finali e il telegramma del partner della comunicazione. Verificare la comunicazione (ad es. la corrispondenza del numero della sequenza). Parametrizzare il modulo. Manuale di guida alle funzioni, 12/2017, A5E AB 163

165 Codice di errore Descrizione Codici di errore di configurazione della ricezione 16#81E0 Telegramma interrotto: overflow del buffer di trasmissione / telegramma di trasmissione troppo grande Rimedio Richiamare più spesso la funzione di ricezione nel programma utente o parametrizzare una comunicazione con controllo del flusso dati. 16#81E1 Telegramma interrotto: Errore di parità Verificare la linea di collegamento dei partner di comunicazione ovvero che velocità di trasmissione, parità e numero di bit di stop siano gli stessi su entrambi i dispositivi. 16#81E2 Telegramma interrotto: errore di frame Verificare le impostazioni per bit di start, bit di dati, bit di parità, velocità di trasmissione e bit di stop. 16#81E3 Telegramma interrotto: errore di overflow dei caratteri Errore di firmware: rivolgersi al Customer Support. 16#81E4 Telegramma interrotto: lunghezza di "Offset del campo di lunghezza nel messaggio + Dimensioni del campo di lunghezza + Numero dei caratteri che non rientrano nella lunghezza indicata" superiore al buffer di ricezione Verificare le impostazioni per Offset del campo di lunghezza nel messaggio, Dimensioni del campo di lunghezza e Numero dei caratteri che non rientrano nella lunghezza indicata. 16#81E5 Telegramma interrotto: Break Linea di ricezione verso il partner interrotta. Ripristinare la linea o attivare il partner. 16#81E6 Numero massimo di "Telegrammi in ricezione bufferizzati" superato 16#81E7 Errori di sincronizzazione tra il modulo e Receive_P2P 16#81E8 Telegramma interrotto: tempo di ritardo del carattere scaduto prima che sia stato riconosciuto il criterio di fine del messaggio 16#81E9 Errore CRC Modbus (solo moduli di comunicazione che supportano Modbus) 16#81EA Telegramma Modbus troppo corto (solo moduli di comunicazione che supportano Modbus) 16#81EB Telegramma interrotto: lunghezza massima del telegramma raggiunta Richiamare più spesso l'istruzione nel programma utente, parametrizzare una comunicazione con controllo del flusso dati o aumentare il numero di telegrammi salvati nel buffer. Accertarsi che diverse istanze di Receive_P2P non accedano allo stesso modulo. Il dispositivo partner è troppo lento o è disturbato. Verificare eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Errore nella somma di controllo del telegramma Modbus. Controllare il partner di comunicazione. La lunghezza minima del telegramma Modbus non è stata raggiunta. Controllare il partner di comunicazione. Selezionare una lunghezza del telegramma inferiore per il partner di comunicazione. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Controllare i parametri del riconoscimento della fine del telegramma. 164 Manuale di guida alle funzioni, 12/2017, A5E AB

166 Codice di errore Descrizione Codici di errore dei segnali addizionali V24 Rimedio 16#81F0 Il modulo non supporta segnali addizionali V24 Si è tentato di impostare segnali addizionali per un modulo che non supporta i segnali addizionali V24. Assicurarsi che si tratti di un modulo RS232 o che sia impostata la modalità RS232 (ET 200SP). 16#81F1 Nessun comando dei segnali addizionali V24 Se è attivo il controllo del flusso dati hardware non è possibile comandare manualmente i segnali addizionali V24. 16#81F2 Impossibile impostare il segnale DSR in quanto l'unità è di tipo DTE. 16#81F3 Impossibile impostare il segnale DTR in quanto l'unità è di tipo DCE. 16#81F4 Errore block header (ad es. tipo di blocco errato oppure lunghezza di blocco errata) Codici di errore di configurazione della ricezione 16#8201 1) Receive_Conditions è un puntatore a un tipo di dati non consentito 16#8225 Receive_Conditionsindica l'area di memoria ottimizzata maggiore di 1 kbyte oppure Receive_Conditions indica l'area di memoria ottimizzata e la lunghezza di ricezione è maggiore dell'area indirizzata con Receive_Conditions. 16#8229 1) Receive_Conditions è un puntatore rivolto verso BOOL con numero di bit diverso da n * 8 Codici di errore generali Controllare il tipo parametrizzato dell'unità. L'unità deve essere di tipo DCE (data communication equipment). Controllare il tipo parametrizzato dell'unità. L'unità deve essere di tipo DTE (data terminal equipment). Verificare il DB di istanza e il block header. Inserire un puntatore a uno dei seguenti tipi di dati: DB, BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TIME_OF_DAY, TIME, S5TIME, DATE_AND_TIME, STRING Inserire un puntatore a un'area con la lunghezza max. seguente: Area di memoria ottimizzata: 1 kbyte Area di memoria non ottimizzata: 4 kbyte Avvertenza: Se il puntatore indica un'area di memoria ottimizzata, non trasmettere più di 1 kbyte. Se si utilizza un puntatore rivolto verso BOOL il numero di bit deve essere un multiplo di 8. 16#8280 Conferma negativa durante la lettura del modulo Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici RDREC.STATUS e nella descrizione dell'sfb RDREC. Controllare quanto immesso nel parametro PORT Prima del 1 richiamo impostare il parametro COM_RST. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici WRREC.STATUS e nella descrizione dell'sfb WRREC. 16#8282 Modulo non disponibile Verificare l'immissione nel parametro PORT e accertarsi che il modulo sia accessibile. Manuale di guida alle funzioni, 12/2017, A5E AB 165

167 Codice di errore Descrizione Codici di errore di configurazione della ricezione 16#82C1 Valore non consentito per "Telegrammi in ricezione bufferizzati". 16#82C2 Receive Configuration respinto perché è selezionato il protocollo 3964(R) 16#8301 1) Receive_Conditions è un puntatore a un tipo di dati non consentito 16#8322 Lunghezza dell'area errata per la lettura di un parametro Rimedio Selezionare un valore adatto per "Telegrammi in ricezione bufferizzati". Campo di valori ammesso: Assicurarsi che con il protocollo 3964(R) impostato non venga inviata la configurazione della ricezione. Selezionare un tipo di dati consentito. Sono consentiti: DB, BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TIME_OF_DAY, TIME, S5TIME, DATE_AND_TIME, STRING Controllare quanto immesso nel parametro Receive_Conditions 16#8324 Errore di area per la lettura di un parametro Controllare quanto immesso nel parametro Receive_Conditions 16#8328 Errore di impostazione alla lettura di un parametro Controllare quanto immesso nel parametro Receive_Conditions Stato di SEND e codici di errore 16#8328 1) BUFFER è un puntatore a BOOL con numero di bit diverso da n * 8 Codici di errore di configurazione della ricezione 16#8332 Blocco dati non consentito nel parametro Receive_Conditions 16#833A La denominazione del blocco dati nel parametro Receive_Conditions indica un blocco dati non caricato. Se si utilizza un puntatore a BOOL il numero di bit deve essere un multiplo di 8. Controllare quanto immesso nel parametro Receive_Conditions Controllare quanto immesso nel parametro Receive_Conditions 16#8351 Tipo di dati non ammesso Controllare quanto immesso nel parametro Receive_Conditions 16#8352 1) Receive_Conditions non indica un blocco dati Controllare il puntatore a Receive_Conditions 16#8353 1) Receive_Conditions non indica una struttura del tipo Receive_Conditions Controllare il puntatore a Receive_Conditions 166 Manuale di guida alle funzioni, 12/2017, A5E AB

168 Codice di errore Descrizione Codici di errore del protocollo 3964(R) 16#8380 Errore di parametrizzazione: valore non consentito per "Tempo di ritardo del carattere". 16#8381 Errore di parametrizzazione: valore non consentito per "Time out di risposta". 16#8382 Errore di parametrizzazione: valore non consentito per "Priorità". Rimedio Selezionare un valore adatto per "Tempo di ritardo del carattere" (CharacterDelayTime). Campo di valori ammesso: (ms) Selezionare un valore adatto per "Time out di risposta" (AcknDelayTime). Campo di valori ammesso: (ms) Selezionare un valore adatto per "Priorità" (Priority). Sono consentiti: Elevato (1) Basso (0) 16#8383 Errore di parametrizzazione: valore non consentito per "Verifica blocco". Selezionare un valore adatto per "Verifica blocco" (BCC). Sono consentiti: con verifica blocco (1) senza verifica blocco (0) 16#8384 Errore di parametrizzazione: valore non consentito per "Tentativi di collegamento". 16#8385 Errore di parametrizzazione: valore non consentito per "Tentativi di trasmissione". 16#8386 Errore di runtime: numero di tentativi di collegamento superato 16#8387 Errore di runtime: numero di tentativi di trasmissione superato 16#8388 Errore di runtime: errore nel "carattere di verifica blocco" Il valore del carattere di verifica blocco creato internamente non coincide con quello ricevuto dal partner alla fine del collegamento. 16#8389 Errore di runtime: in attesa della disponibilità del buffer di ricezione è stato ricevuto un carattere non consentito Selezionare un valore adatto per "Tentativi di collegamento" (BuildupAttempts). Campo di valori ammesso: Selezionare un valore adatto per "Tentativi di trasmissione" (RepetitionAttempts). Campo di valori ammesso: Controllare il cavo dell'interfaccia e i parametri di trasmissione. Controllare anche sul lato del partner se la funzione di ricezione è parametrizzata correttamente. Controllare il cavo dell'interfaccia, i parametri di trasmissione e la parametrizzazione del partner della comunicazione. Controllare se il collegamento è fortemente disturbato, in questo caso si noteranno occasionalmente anche codici errati. Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. La richiesta di trasmissione del partner di comunicazione (STX, 02H) riceve in risposta DLE solo quando il buffer di ricezione si svuota. Prima non è consentito ricevere altri caratteri (ad eccezione di un altro STX). Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Manuale di guida alle funzioni, 12/2017, A5E AB 167

169 Codice di errore Descrizione 16#838A Errore di runtime: errore logico durante la ricezione. Dopo la ricezione di DLE è stato ricevuto un altro carattere qualsiasi (esclusi DLE, ETX). 16#838B Errore di runtime: tempo di ritardo del carattere superato 16#838C Errore di runtime: tempo di attesa della disponibilità del buffer di ricezione avviato 16#838D Errore di runtime: dopo NAK la ripetizione del telegramma non si avvia entro 4 s 16#838E Errore di runtime: durante il tempo di riposo sono stati ricevuti uno o più caratteri (esclusi NAK o STX). 16#838F Errore di runtime: conflitto di inizializzazione. Entrambi i partner hanno impostato la priorità alta 16#8391 Errore di parametrizzazione: dati di parametrizzazione 3964 respinti perché è impostato Freeport Rimedio Controllare se il partner raddoppia sempre DLE nell'intestazione del telegramma e nella stringa di dati o se il collegamento si disattiva con DLE ETX. Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Il dispositivo partner è troppo lento o disturbato. Verificare eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Richiamare più spesso l'istruzione nel programma utente o parametrizzare una comunicazione con controllo del flusso dati. Controllare il partner di comunicazione. Un telegramma ricevuto eventualmente errato deve essere ripetuto dal partner entro 4 secondi. Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Impostare per uno dei partner la priorità "Bassa" Assicurarsi che con il protocollo Freeport impostato non vengano inviati i dati di parametrizzazione ) Solo per le istruzioni per le CPU S7-300/ Manuale di guida alle funzioni, 12/2017, A5E AB

170 Panoramica dei messaggi di errore Modbus Codice di errore Descrizione 16#0000 Nessun errore - Errore di configurazione dell'interfaccia - Modbus_Comm_Load 16#8181 Il modulo non supporta questa velocità di trasmissione dati. 16#8182 Il modulo non supporta questa impostazione per la parità. 16#8183 Il modulo non supporta questo tipo di controllo del flusso dati. Rimedio Selezionare una velocità di trasmissione consentita per il modulo nel parametro BAUD. Selezionare un valore adatto per la "Parità" nel parametro PARITY. Sono consentiti: Nessuna (1) Pari (2) Dispari (3) Mark (4) Space (5) Qualsiasi (6) Selezionare un controllo del flusso dati consentito per il modulo nel parametro FLOW_CTRL. 16#8184 valore non consentito per "Time out di risposta". Selezionare un valore adatto per "Time out di risposta" nel parametro RESP_TO. Campo di valori ammesso: (ms) 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_Config.RDREC.STATUS, Receive_Config.RDREC.STATUS o RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_Config.WRREC.STATUS, Receive_Config.WRREC.STATUS o WRREC.STATUS e nella descrizione dell'sfb WRREC. 16#8282 Modulo non disponibile Verificare l'immissione nel parametro PORT e accertarsi che il modulo sia accessibile. Manuale di guida alle funzioni, 12/2017, A5E AB 169

171 Codice di errore Descrizione Errore di configurazione - Modbus_Slave Rimedio 16#8186 Indirizzo slave non consentito Selezionare un indirizzo di slave adeguato nel parametro MB_ADDR. Sono consentiti: per l'area di indirizzi standard; per l'area di indirizzi estesa (0 è riservato per il broadcast) 16#8187 Valore non consentito nel parametro MB_HOLD_REG Selezionare un valore adatto per l'holding register nel parametro MB_HOLD_REG. 16#8188 Modo di funzionamento non consentito o Broadcast (MB_ADDR = 0) e parametro MODE 1 16#818C Il puntatore di un'area MB_HOLD_REG deve essere un blocco dati o un'area merker. Con il modo di funzionamento Broadcast selezionare per MODE il valore 1 o scegliere un altro modo di funzionamento. Selezionare un valore adatto per il puntatore all'area MB_HOLD_REG. 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.WRREC.STATUS o Receive_P2P.WRREC.STATUS e nella descrizione dell'sfb WRREC. 16#8452 1) MB_HOLD_REG non è un puntatore a un DB o un'area Controllare il puntatore MB_HOLD_REG merker 16#8453 1) MB_HOLD_REG non è un puntatore del tipo BOOL o Controllare il puntatore MB_HOLD_REG WORD 16#8454 1) La lunghezza dell'area indirizzata con Controllare il puntatore MB_HOLD_REG MB_HOLD_REG supera la lunghezza del DB o l'area indirizzata è troppo piccola per il numero di dati da leggere o scrivere. 16#8455 1) MB_HOLD_REG indica un DB protetto in scrittura Controllare il puntatore MB_HOLD_REG 16#8456 1) Errore di esecuzione dell'istruzione. La causa dell'errore si trova nel parametro statico STATUS. Determinare il valore del parametro SFCSTATUS. Leggerne il significato nella descrizione dell'sfc51, parametro STATUS. 170 Manuale di guida alle funzioni, 12/2017, A5E AB

172 Codice di errore Descrizione Errore di configurazione - Modbus_Master Rimedio 16#8180 Valore non consentito per il parametro MB_DB Il valore parametrizzato nell'istruzione Modbus_Comm_Load per MB_DB (DB dei dati di istanza) non è consentito. Controllare l'interconnessione dell'istruzione Modbus_Comm_Load e i relativi messaggi di errore. 16#8186 Indirizzo della stazione non consentito Selezionare un indirizzo di stazione adeguato nel parametro MB_ADDR. Sono consentiti: per l'area di indirizzi standard; per l'area di indirizzi estesa (0 è riservato per il broadcast) 16#8188 Modo di funzionamento non consentito o Broadcast (MB_ADDR = 0) e parametro MODE 1 Con il modo di funzionamento Broadcast selezionare per MODE il valore 1 o scegliere un altro modo di funzionamento. 16#8189 Indirizzo dei dati non consentito Selezionare un valore adatto per l'indirizzo dei dati nel parametro DATA_ADDR. Vedere la descrizione Modbus_Master (Pagina 131) nel sistema di informazione 16#818A Lunghezza indicata non consentita Selezionare una lunghezza dei dati adeguata nel parametro DATA_LEN. Vedere la descrizione Modbus_Master (Pagina 131) nel sistema di informazione 16#818B Valore non consentito per DATA_PTR Selezionare nel parametro DATA_PTR un valore adeguato per il puntatore dati (indirizzo M o DB). Vedere la descrizione Modbus_Master (Pagina 131) nel sistema di informazione 16#818C Errore di interconnessione del parametro DATA_PTR Controllare l'interconnessione dell'istruzione. 16#818D La lunghezza dell'area indirizzata con DATA_PTR Controllare il puntatore DATA_PTR supera la lunghezza del DB o l'area indirizzata è troppo piccola per il numero di dati da leggere o scrivere. 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.WRREC.STATUS, Receive_P2P.WRREC.STATUS o Receive_Reset e nella descrizione dell'sfb WRREC. Manuale di guida alle funzioni, 12/2017, A5E AB 171

173 Codice di errore Descrizione Errore di comunicazione - Modbus_Master e Modbus_Slave Rimedio 16#80D1 Il tempo di attesa di XON o CTS = ON è scaduto. Il partner di comunicazione è disturbato, troppo lento oppure offline. Controllare il partner di comunicazione o modificare eventualmente la parametrizzazione. 16#80D2 "Hardware RTS sempre ON": ordine di trasmissione interrotto a causa della commutazione da DSR = ON a OFF 16#80E0 Telegramma interrotto: overflow del buffer di trasmissione / telegramma di trasmissione troppo grande Controllare il partner di comunicazione. Assicurarsi che DSR sia impostato su ON per l'intera trasmissione. Richiamare più spesso l'istruzione nel programma utente o parametrizzare una comunicazione con controllo del flusso dati. 16#80E1 Telegramma interrotto: errore di parità Verificare la linea di collegamento dei partner di comunicazione ovvero che velocità di trasmissione, parità e numero di bit di stop siano gli stessi su entrambi i dispositivi. 16#80E2 Telegramma interrotto: errore di frame Verificare le impostazioni per bit di start, bit di dati, bit di parità, velocità di trasmissione e bit di stop. 16#80E3 Telegramma interrotto: errore di overflow dei caratteri Controllare il numero di dati del telegramma del partner della comunicazione. 16#80E4 Telegramma interrotto: lunghezza massima del telegramma raggiunta Selezionare una lunghezza del telegramma inferiore per il partner di comunicazione. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Errore di comunicazione - Modbus_Master 16#80C8 Lo slave non risponde entro il tempo impostato Verificare la velocità di trasmissione, la parità e il cablaggio dello slave. 16#80C9 Lo slave non risponde entro il tempo impostato tramite Blocked_Proc_Timeout. Verificare l'impostazione di Blocked_Proc_Timeout. Controllare se il modulo è stato parametrizzato con l'istruzione Modbus_Comm_Load. Eventualmente, dopo aver estratto e reinserito il modulo o al ripristino della tensione, è necessario riparametrizzare il modulo tramite Modbus_Comm_Load. 16#8200 L'interfaccia è occupata da una richiesta in corso. Ripetere l'ordine successivamente. Prima di avviare un nuovo ordine assicurarsi che non siano più in corso altri ordini. Errore di protocollo - Modbus_Slave (solo moduli di comunicazione che supportano Modbus) 16#8380 Errore CRC Errore nella somma di controllo del telegramma Modbus. Controllare il partner di comunicazione. 16#8381 Il codice funzione non è supportato o non è supportato per il Broadcast. 16#8382 La lunghezza indicata nel telegramma di richiesta non è consentita 16#8383 L'indirizzo dei dati nel telegramma di richiesta non è consentito 16#8384 Errore nel valore dei dati non consentito nel telegramma di richiesta 16#8385 Il valore di diagnostica non è supportato dallo slave Modbus (codice funzione 08) Controllare il partner della comunicazione e assicurarsi che venga inviato un codice funzione valido. Selezionare una lunghezza dei dati adeguata nel parametro DATA_LEN. Selezionare un valore adatto per l'indirizzo dei dati nel parametro DATA_ADDR. Controllare il valore dei dati nel telegramma di richiesta del master Modbus Lo slave Modbus supporta solo i valori di diagnostica 16#0000 e 16#000A. 172 Manuale di guida alle funzioni, 12/2017, A5E AB

174 Codice di errore Descrizione Rimedio Errore di protocollo - Modbus_Master (solo moduli di comunicazione che supportano Modbus) 16#8380 Errore CRC Errore nella somma di controllo del telegramma Modbus. Controllare il partner di comunicazione. 16#8381 Telegramma di risposta del Modbus Slave con messaggio di errore: Il codice funzione non è supportato. 16#8382 Telegramma di risposta del Modbus Slave con messaggio di errore: Lunghezza indicata non consentita 16#8383 Telegramma di risposta del Modbus Slave con messaggio di errore: L'indirizzo dei dati nel telegramma di richiesta non è consentito 16#8384 Telegramma di risposta del Modbus Slave con messaggio di errore: Errore nel valore dei dati 16#8385 Telegramma di risposta del Modbus Slave con messaggio di errore: Il valore di diagnostica non è supportato dallo slave Modbus 16#8386 Il codice funzione confermato non corrisponde a quello richiesto. Controllare il partner della comunicazione e assicurarsi che venga inviato un codice funzione valido. Selezionare una lunghezza dei dati adeguata. Selezionare un valore adatto per l'indirizzo dei dati nel parametro DATA_ADDR. Controllare il telegramma di richiesta inviato allo slave Modbus. Gli slave Modbus supportano solo i valori di diagnostica 16#0000 e 16#000A. Controllare il telegramma di risposta e l'indirizzamento dello slave. 16#8387 Risponde uno slave che non è stato indirizzato Controllare il telegramma di risposta dello slave. Controllare le impostazioni dell'indirizzo dello slave. 16#8388 Errore nella risposta dello slave a una richiesta di Controllare il telegramma di risposta dello slave. scrittura. 16#8828 1) DATA_PTR indica un indirizzo di bit diverso da n * 8 Controllare il puntatore DATA_PTR 16#8852 1) DATA_PTR non è un puntatore a un DB o un'area Controllare il puntatore DATA_PTR merker 16#8853 1) DATA_PTR non è un puntatore del tipo BOOL o Controllare il puntatore DATA_PTR WORD 16#8855 1) DATA_PTR indica un DB protetto in scrittura Controllare il puntatore DATA_PTR 16#8856 1) Errore al richiamo dell'sfc51 Ripetere il richiamo dell'istruzione Modbus_Master Errore - Modbus_Slave (solo moduli di comunicazione che supportano Modbus) 16#8428 1) MB_HOLD_REG indica un indirizzo di bit diverso da n Controllare il puntatore MB_HOLD_REG * 8 16#8452 1) MB_HOLD_REG non è un puntatore a un DB o un'area Controllare il puntatore MB_HOLD_REG merker 16#8453 1) MB_HOLD_REG non è un puntatore del tipo BOOL o Controllare il puntatore MB_HOLD_REG WORD 16#8454 1) La lunghezza dell'area indirizzata con Controllare il puntatore MB_HOLD_REG MB_HOLD_REG supera la lunghezza del DB o l'area indirizzata è troppo piccola per il numero di dati da leggere o scrivere. 16#8455 1) MB_HOLD_REG indica un DB protetto in scrittura Controllare il puntatore MB_HOLD_REG 16#8456 1) Errore al richiamo dell'sfc51 Ripetere il richiamo dell'istruzione Modbus_Slave 1) Solo per le istruzioni per le CPU S7-300/400 Manuale di guida alle funzioni, 12/2017, A5E AB 173

175 Panoramica dei messaggi di errore USS Codice di errore Descrizione 16#0000 Nessun errore - Rimedio 16#8180 Lunghezza errata nella risposta dell'azionamento Controllare il telegramma di risposta dell'azionamento. 16#8181 Errore di tipo di dati Selezionare un tipo di dati adeguato. Sono consentiti: 16#8182 Errore di tipo di dati: la richiesta "Parola" non deve essere confermata da "Doppia parola" o "Real". 16#8183 Errore di tipo di dati: la richiesta "Doppia parola" o "Real" non deve essere confermata da "Parola". 16#8184 Errore della somma di controllo nella risposta dell'azionamento Real Parola Doppia parola Controllare il telegramma di risposta dell'azionamento. Controllare il telegramma di risposta dell'azionamento. Verificare l'azionamento e il collegamento di comunicazione. 16#8185 Errore di indirizzamento Area di indirizzi dell'azionamento consentita: #8186 Errore di setpoint Campo del setpoint: -200 % % 16#8187 Il numero di azionamento confermato è errato Controllare il telegramma di risposta dell'azionamento. 16#8188 Lunghezza PZD non consentita Lunghezze PZD consentite: 2, 4, 6, 8 parole 16#8189 Il modulo non supporta questa velocità di trasmissione dati. 16#818A Al momento è attiva un'altra richiesta per questo azionamento. Selezionare una velocità di trasmissione consentita per il modulo. Ripetere l'ordine di lettura o scrittura dei parametri in un momento successivo. 16#818B L'azionamento non risponde. Controllare l'azionamento. 16#818C L'azionamento risponde a una richiesta di parametri con un messaggio di errore. 16#818D L'azionamento risponde a una richiesta di parametri segnalando un errore di accesso. Controllare il telegramma di risposta dell'azionamento. Verificare la richiesta di parametri. Verificare se le istruzioni USS_Read_Param, USS_Write_Param oppure USS_Port_Scan hanno segnalato un errore. In caso affermativo controllare il valore della variabile statica USS_DB. w_ussextendederror dell'istruzione USS_Drive_Control. Controllare il telegramma di risposta dell'azionamento. Verificare la richiesta di parametri. 16#818E L'azionamento non è stato inizializzato. Controllare il programma utente e assicurarsi che per questo azionamento venga richiamata l'istruzione USS_Drive_Control. 174 Manuale di guida alle funzioni, 12/2017, A5E AB

176 Codice di errore Descrizione Rimedio 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Port_Config.RDREC.STATUS o Send_Config.RDREC.STATUS o Receive_Config.RDREC.STATUS o Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Port_Config.WRREC.STATUS o Send_Config.WRREC.STATUS o Receive_Config.WRREC.STATUS o Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb WRREC. 1) Solo per le istruzioni per le CPU S7-300/400 Manuale di guida alle funzioni, 12/2017, A5E AB 175

177 5.4.3 USS Panoramica della comunicazione USS Comunicazione USS Le istruzioni USS controllano il funzionamento di azionamenti che supportano il protocollo dell'interfaccia seriale universale (USS). Con i moduli di comunicazione PtP è possibile comunicare con diversi azionamenti tramite i collegamenti RS485 e le istruzioni USS. Ogni porta RS485 può gestire fino a 16 azionamenti. Il protocollo USS utilizza una rete master/slave per la comunicazione tramite un bus seriale. Il master utilizza un parametro di indirizzo per inviare i dati a uno slave selezionato. Uno slave non può mai trasmettere senza prima aver ricevuto una richiesta. La comunicazione tra i singoli slave non è possibile. La comunicazione USS funziona in semiduplex. La figura seguente mostra uno schema di rete per un'applicazione di esempio con 16 azionamenti CPU CM Azionamenti USS in una rete USS Figura 5-1 Esempio di interconnessione con modulo di comunicazione S Nota Comunicazione con un azionamento attraverso RS232 In generale per la comunicazione con un azionamento è possibile utilizzare anche il CM PtP RS232 BA e il CM PtP RS232 HF. Tuttavia, a una porta RS232 può essere collegato solo un azionamento. Comunicazione con un azionamento attraverso RS422 In generale anche l'interfaccia RS422 del CM PtP RS422/485 BA e del CM PtP RS422/485 HF può essere utilizzata per la comunicazione con un azionamento. Tuttavia, a una porta RS422 può essere collegato solo un azionamento. 176 Manuale di guida alle funzioni, 12/2017, A5E AB

178 Istruzioni USS nel programma utente USS_Port_Scan: L'istruzione USS_Port_Scan consente di comunicare con max. 16 drive tramite un modulo di comunicazione e una rete USS (deve essere richiamata ciclicamente). Nel programma è disponibile solo un'istruzione USS_Port_Scan per ogni porta di comunicazione PtP che comanda la trasmissione verso tutti gli azionamenti. USS_Drive_Control: l'istruzione USS_Drive_Control consente di preparare i dati di trasmissione di USS_Port_Scan per un azionamento e di visualizzarne i dati di ricezione. USS_Drive_Control configura i dati da inviare e analizza i dati ricevuti in una richiesta precedente di USS_Port_Scan. USS_Read_Param: l'istruzione USS_Read_Param consente di leggere parametri da un azionamento. USS_Write_Param: l'istruzione USS_Write_Param consente di modificare parametri in un azionamento. Manuale di guida alle funzioni, 12/2017, A5E AB 177

179 Presupposti per l'utilizzo del protocollo USS Le quattro istruzioni USS utilizzano 2 FB e 2 FC a supporto del protocollo USS. Per ogni rete USS viene utilizzato un blocco dati di istanza per USS_Port_Scan e un blocco dati di istanza comune per tutti i richiami di USS_Drive_Conrol. Figura 5-2 Esecuzione del programma - USS Tutti gli azionamenti (max. 16) collegati a una porta RS485 fanno parte della stessa rete USS. Tutti gli azionamenti collegati a un'altra porta RS485 fanno parte di un'altra rete USS. Ogni rete USS viene gestita con l'aiuto di un blocco dati di istanza univoco per tutte le istruzioni USS_Drive_Control e un ulteriore blocco dati di istanza per l'istruzione USS_Port_Scan. Tutte le istruzioni che appartengono a una rete USS devono utilizzare in comune il blocco dati di istanza per USS_Drive_Conrol. Le istruzioni USS_Port_Scan, USS_Read_Param e USS_Write_Param hanno il parametro USS_DB che deve essere collegato con il parametro (statico) USS_DB del DB di istanza dell'istruzione USS_Drive_Control. Le istruzioni USS_Drive_Control e USS_Port_Scan sono blocchi funzionali (FB). Se si inserisce l'istruzione USS_Drive_Control o USS_Port_Scan nell'editor di programma, nella finestra di dialogo "Opzioni di richiamo" viene chiesto di assegnare un DB a questo FB. Se è la prima istruzione USS_Drive_Control in questo programma per questa rete USS è possibile applicare l'assegnazione del DB standard (o eventualmente modificarne il nome) e il nuovo DB verrà creato. Se invece non è la prima istruzione USS_Drive_Control per questo azionamento è necessario scegliere dalla casella di riepilogo nella finestra di dialogo "Opzioni di richiamo" il DB già assegnato in precedenza a questa rete USS. 178 Manuale di guida alle funzioni, 12/2017, A5E AB

180 Le istruzioni USS_Write_Param e USS_Read_Param sono funzioni (FC). Quando si inseriscono queste FC nell'editor non vengono assegnati DB. Se si inseriscono nell'editor queste FC o l'istruzione USS_Port_Scan è necessario assegnare all'ingresso USS_DB di queste istruzioni il parametro USS_DB del rispettivo DB di istanza di USS_Drive_Control. Fare doppio clic sul campo del parametro e quindi fare clic sull'icona per visualizzare i DB disponibili. Inserire un punto "." e selezionare dalla casella di riepilogo il parametro USS_DB. La funzione USS_Port_Scan controlla la comunicazione tra CPU e gli azionamenti attraverso la porta di comunicazione punto a punto RS485. A ogni richiamo di questa funzione viene elaborata una comunicazione con un azionamento. Il programma utente deve richiamare questa funzione abbastanza rapidamente, in modo da evitare che gli azionamenti segnalino un time out. Per garantire un comportamento costante nel tempo della trasmissione del telegramma è opportuno richiamare questa istruzione in un OB di schedulazione orologio. L'istruzione USS_Drive_Control consente al programma utente di accedere a un azionamento indicato nella rete USS. I suoi ingressi e le sue uscite corrispondono agli stati e alle funzioni di comando dell'azionamento. Se sono disponibili 16 azionamenti nella rete, USS_Drive_Control deve essere richiamato 16 volte nel programma, ovvero una volta per azionamento. L'istruzione USS_Drive_Control deve essere richiamata solo da un OB ciclico. Le funzioni USS_Read_Param e USS_Write_Param leggono e scrivono i parametri di esercizio dell'azionamento. Questi parametri controllano il funzionamento interno dell'azionamento. La definizione di questi parametri è riportata nel manuale dell'azionamento. Il programma può contenere qualsiasi numero di funzioni ma può essere attiva sempre solo una richiesta di lettura o di scrittura per un azionamento per volta. È consentito richiamare le funzioni USS_Read_Param e USS_Write_Param solo dall'ob di ciclo di un programma principale. ATTENZIONE Richiami delle istruzioni USS Richiamare USS_Drive_Control, USS_Read_Param e USS_Write_Param solo da un OB di ciclo del programma principale. L'istruzione USS_Port_Scan può essere richiamata da un OB qualsiasi, normalmente da un OB di schedulazione orologio. Non utilizzare le istruzioni USS_Drive_Control, USS_Read_Param e USS_Write_Param in un OB con una priorità maggiore della corrispondente istruzione USS_Port_Scan. Ad esempio non inserire USS_Port_Scan nel programma principale e USS_Read_Param in un OB di schedulazione orologio. Se l'esecuzione di USS_Port_Scan viene interrotta da un'altra istruzione è possibile che si verifichino errori imprevisti. Manuale di guida alle funzioni, 12/2017, A5E AB 179

181 Calcolo del tempo per la comunicazione con l'azionamento La comunicazione con l'azionamento è asincrona rispetto al ciclo della CPU. La CPU normalmente esegue diversi cicli prima che la comunicazione con un azionamento sia conclusa. Per evitare che si attivi il tempo di controllo risposta impostato per l'azionamento, i telegrammi di trasmissione all'azionamento devono essere inviati entro il tempo di controllo risposta. Nel calcolo deve essere incluso anche il numero di tentativi eventualmente necessari per concludere la transazione a causa di errori di comunicazione. Per default per il protocollo USS vengono eseguiti fino a 2 tentativi per ogni transazione. L'intervallo di tempo max. tra due telegrammi di trasmissione si calcola come segue: N * (5 * tempo di ciclo + tempo di esecuzione del telegramma + timeout del telegramma di ricezione max.) * (numero di tentativi di trasmissione) N Numero di azionamenti in questa rete Fattore 5 Per la trasmissione e la ricezione di telegrammi in genere sono necessari 5 cicli. Tempo di ciclo Tempo di ciclo max. dell'ob di schedulazione orologio in cui viene richiamata l'istruzione USS_Port_Scan. Tempo di esecuzione Tempo di esecuzione del telegramma = (numero di caratteri per telegramma) * (11 Bit per carattere) / (velocità di trasmissione dati in del telegramma Bit/s) Numero di tentativi di Numero di tentativi + 1 trasmissione Timeout del telegramma di ricezione RCVTIME (se non viene ricevuta alcuna risposta dall'azionamento) Timeout del telegramma di ricezione max. viene ricevuta una risposta incompleta e il controllo di MSGTIME è RCVTIME + MSGTIME (se poco prima dello scadere di RCVTIME terminato oppure se allo scadere di RCVTIME è in corso ancora una risposta, il timeout viene prolungato di MSGTIME) Per il "timeout del telegramma di ricezione" valgono i seguenti tempi (ms) Bit/s Receive_Conditions END.RCVTIME Receive_Conditions.END.MSGTIME Timeout del telegramma di ricezione max. = (Receive_Conditions.END.RCVTIME (0,072 s) + Receive_Conditions.END.MSGTIME (0,072 s)) Esempio: 5 azionamenti Velocità di trasmissione dati = 9600 bit/s 28 caratteri per telegramma Tempo di ciclo = s Numero di tentativi = 2 Intervallo di tempo = 5 * (5 * 0,02 s + 1 * 28 * 11 / 9600 s + 0,072 s + 0,072 s) * 3 = 3 s Il controllo del tempo dell'azionamento, in questo caso, deve essere impostato su 3 secondi ca. 180 Manuale di guida alle funzioni, 12/2017, A5E AB

182 USS_Port_Scan / USS_Port_Scan_31: Elabora comunicazione tramite rete USS Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Nota Impiego dell'istruzione USS_Port_Scan_31 L'impiego dell'istruzione USS_Port_Scan_31 è possibile soltanto in una CPU S Descrizione L'istruzione USS_Port_Scan elabora la comunicazione attraverso una rete USS per max. 16 azionamenti. L'istruzione USS_Port_Scan_31 elabora la comunicazione attraverso una rete USS per max. 31 azionamenti. STEP 7 crea automaticamente il DB di istanza quando si inserisce l'istruzione. Parametri Parametri Dichiarazione S7-1200/1500 Tipo di dati Standard Descrizione S7-300/400/ WinAC PORT IN Port Word 0 Specifica il modulo dal quale si svolge la comunicazione: Per S7-1500/S7-1200: "ID hardware" della configurazione dispositivi. Il nome simbolico della porta viene assegnato nella scheda "Costanti di sistema" della tabella delle variabili PLC dalla quale può essere acquisito. Per S7-300/S7-400: Indirizzo di ingresso" della configurazione dispositivi. Nei sistemi S7-300/400/WinAC, l'indirizzo di ingresso assegnato in HWCN viene assegnato al parametro PORT. Manuale di guida alle funzioni, 12/2017, A5E AB 181

183 Parametri Dichiarazione S7-1200/1500 Tipo di dati Standard Descrizione S7-300/400/ WinAC BAUD IN DInt 9600 Velocità di trasmissione della comunicazione USS Sono consentiti: 1200 bit/s 2400 bit/s 4800 bit/s 9600 bit/s bit/s bit/s bit/s bit/s USS_DB INOUT USS_BASE Il parametro USS_DB deve essere collegato con il parametro (statico) USS_DB del DB di istanza che viene creato e inizializzato quando si inserisce un'istruzione USS_Drive_Control / USS_Drive_Control_31 nel programma. COM_RST INOUT --- Bool FALSE Inizializzazione dell'istruzione USS_Port_Scan / USS_Port_Scan_31 Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. Nota: questo parametro è disponibile solo per le istruzioni S7-300/400. ERROR OUT Bool FALSE Se TRUE, l'uscita indica che si è verificato un errore e l'uscita STATUS è valida. Eventualmente verificare anche il valore della variabile statica USS_DB. w_ussextendederror nel DB di istanza dell'istruzione USS_Drive_Control / USS_Drive_Control_31. STATUS OUT Word 0 Codice di errore (vedere Messaggi di errore (Pagina 200)). È disponibile una sola istruzione USS_Port_Scan / USS_Port_Scan_31 per porta di comunicazione PtP nel programma e ogni richiamo di questa istruzione comanda una trasmissione verso o da tutti gli azionamenti di questa rete. Tutte le funzioni USS assegnate a una rete USS e a una porta di comunicazione PtP devono utilizzare lo stesso DB di istanza. Il programma deve eseguire l'istruzione USS_Port_Scan / USS_Port_Scan_31 con una frequenza tale da evitare un timeout nell'azionamento (vedere Presupposti per l'utilizzo del protocollo USS (Pagina 178) sezione "Calcolo del tempo per la comunicazione con l'azionamento"). Normalmente l'istruzione USS_Port_Scan / USS_Port_Scan_31 si richiama da un OB di schedulazione orologio per evitare il time out dell'azionamento e avere a disposizione gli ultimi aggiornamenti dei dati USS per richiamare USS_Drive_Control / USS_Drive_Control_ Manuale di guida alle funzioni, 12/2017, A5E AB

184 Variabili del blocco dati USS_Port_Scan / USS_Port_Scan_31 La tabella seguente mostra le variabili statiche pubbliche contenute nel DB di istanza di USS_Port_Scan / USS_Port_Scan_31 utilizzabili nel programma utente. Tabella 5-35 Variabili statiche nel DB di istanza Variabile Tipo di dati Standard Descrizione MODE USInt 4 Modo di funzionamento I modi di funzionamento consentiti sono: 0 = fullduplex (RS232) 1 = fullduplex (RS 422) a quattro fili (punto a punto) 2 = fullduplex (RS422) funzionamento a quattro fili (Master multipoint; CM PtP (ET 200SP)) 3 = fullduplex (RS422) funzionamento a quattro fili (Slave multipoint; CM PtP (ET 200SP)) 4 = semiduplex (RS485) a 2 fili 1) LINE_PRE USInt 2 Preimpostazione della linea di ricezione Le preimpostazioni consentite sono: 0 = "nessuna" preimpostazione 1) BRK_DET USInt 0 Attiva allarme di diagnostica: 0 - non attivato 1 - attivato 1 = segnale R(A)=5V, segnale R(B)=0 V (riconoscimento Break): con questa preimpostazione è possibile il riconoscimento break. È disponibile solo nei seguenti casi: "Fullduplex (RS422) funzionamento a quattro fili (Punto a punto)" e "Fullduplex (RS422) funzionamento a quattro fili (Slave multipoint)". 2 = segnale R(A)=0V, segnale R(B)=5V: questa preimpostazione corrisponde allo stato di riposo (nessuna trasmissione attiva). Questa preimpostazione non consente il riconoscimento Break. RETRIES_MAX SInt/Byte 2 Numero di tentativi al verificarsi di errori di comunicazione. Con questo parametro si può impostare il numero di tentativi per l'invio di un telegramma di richiesta se non si riceve il telegramma di risposta entro l'intervallo di tempo impostato. EN_DIAG Bool 0 Attiva allarme di diagnostica: _ALARM 0 - non attivato 1 - attivato EN_SUPPLY _VOLT Bool 0 Attivazione della diagnostica Tensione di alimentazione mancante L+ 0 - non attivato 1 - attivato 1) Impostazione necessaria per l'uso di cavi PROFIBUS in CM 1241 per RS485 La versione 2.5 presenta le stesse funzioni della versione 2.4 ed è stata incrementata in ragione di misure interne. Manuale di guida alle funzioni, 12/2017, A5E AB 183

185 Versioni dell istruzione USS_Port_Scan: La versione 2.5 presenta le stesse funzioni della versione 2.4 ed è stata incrementata in ragione di misure interne. USS_Port_Scan_31: La versione 1.2 presenta le stesse funzioni della versione 1.1 ed è stata incrementata in ragione di misure interne. 184 Manuale di guida alle funzioni, 12/2017, A5E AB

186 USS_Drive_Control / USS_Drive_Control_31: preparazione e visualizzazione dei dati per l'azionamento Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Nota Impiego dell'istruzione USS_Drive_Control_31 L'impiego dell'istruzione USS_Drive_Control_31 è possibile soltanto in una CPU S Descrizione L'istruzione USS_Drive_Control prepara i dati di trasmissione per max. 16 azionamenti e analizza i dati di risposta degli azionamenti. L'istruzione USS_Drive_Control_31 prepara i dati di trasmissione per max. 31 azionamenti e analizza i dati di risposta degli azionamenti. Per ogni azionamento si deve utilizzare un'istruzione diversa, e il blocco dati di istanza deve essere lo stesso per tutte le funzioni USS assegnate a una rete USS e a una porta di comunicazione PtP. Il nome del DB deve essere indicato quando si inserisce la prima istruzione USS_Drive_Control / USS_Drive_Control_31. In seguito si farà riferimento a questo DB creato nell'inserire la prima istruzione. STEP 7 crea automaticamente il DB quando si inserisce l'istruzione. Parametri Parametri S7-1200/1500 Tipo di dati Standard Descrizione Dichiarazione S7-300/400/ WinAC RUN IN Bool FALSE Bit di start dell'azionamento: se questo parametro è TRUE l'ingresso consente il funzionamento dell'azionamento con il numero di giri preimpostato. Se RUN diventa FALSE durante il funzionamento dell'azionamento, il motore decelera fino all'arresto. Questo comportamento è diverso dalla disinserzione dell'alimentazione di tensione (OFF2) e dalla frenatura del motore (OFF3). OFF2 IN Bool FALSE Bit di disinserzione dell'alimentazione: se questo parametro è FALSE il bit induce l'arresto graduale dell'azionamento senza frenatura. OFF3 IN Bool FALSE Bit di arresto rapido: se questo parametro è FALSE il bit induce un arresto rapido frenando l'azionamento. Manuale di guida alle funzioni, 12/2017, A5E AB 185

187 Parametri S7-1200/1500 Tipo di dati Standard Descrizione Dichiarazione S7-300/400/ WinAC F_ACK IN Bool FALSE Bit di conferma errori: con questo bit si resetta il bit di errore di un azionamento. Il bit viene impostato dopo l'eliminazione dell'errore così l'azionamento riconosce che l'errore precedente non deve più essere segnalato. DIR IN Bool FALSE Comando della direzione dell'azionamento: questo bit viene impostato se l'azionamento deve funzionare in avanti (se SPEED_SP è positivo; vedere la tabella "Interazione dei parametri SPEED_SP e DIR"). DRIVE IN USInt Byte 1 Indirizzo dell'azionamento: questo ingresso è l'indirizzo dell'azionamento USS. Il campo valido è compreso tra l'azionamento 1 e l'azionamento 16. PZD_LEN IN USInt Byte 2 Lunghezza in parole: numero delle parole dati PZD. Sono valori validi 2, 4, 6 o 8 parole. SPEED _SP IN Real 0.0 Setpoint del numero di giri: numero di giri dell'azionamento in percentuale rispetto alla frequenza configurata. Se il valore è positivo significa che l'azionamento funziona in avanti (se DIR è TRUE). Il campo valido è compreso tra 200,00 e -200,00. CTRL3 IN Word 0 Parola di comando 3: valore che viene scritto in un parametro dell'azionamento configurabile dall'utente. Deve essere configurato nell'azionamento (parametro opzionale). CTRL4 IN Word 0 Parola di comando 4: valore che viene scritto in un parametro dell'azionamento configurabile dall'utente. Deve essere configurato nell'azionamento (parametro opzionale). CTRL5 IN Word 0 Parola di comando 5: valore che viene scritto in un parametro dell'azionamento configurabile dall'utente. Deve essere configurato nell'azionamento (parametro opzionale). CTRL6 IN Word 0 Parola di comando 6: valore che viene scritto in un parametro dell'azionamento configurabile dall'utente. Deve essere configurato nell'azionamento (parametro opzionale). CTRL7 IN Word 0 Parola di comando 7: valore che viene scritto in un parametro dell'azionamento configurabile dall'utente. Deve essere configurato nell'azionamento (parametro opzionale). CTRL8 IN Word 0 Parola di comando 8: valore che viene scritto in un parametro dell'azionamento configurabile dall'utente. Deve essere configurato nell'azionamento (parametro opzionale). 186 Manuale di guida alle funzioni, 12/2017, A5E AB

188 Parametri S7-1200/1500 Tipo di dati Standard Descrizione Dichiarazione S7-300/400/ WinAC COM_RST IN/OUT --- Bool FALSE Inizializzazione dell'istruzione USS_Drive_Control / USS_Drive_Control_31 Con TRUE l'istruzione viene inizializzata. In seguito COM_RST viene reimpostato a FALSE dall'istruzione. Nota: questo parametro è disponibile solo per le istruzioni S7-300/400. NDR OUT Bool FALSE Nuovi dati disponibili: se questo parametro è TRUE il bit segnala che nell'uscita sono pronti i dati di una nuova richiesta di comunicazione. ERROR OUT Bool FALSE Si è verificato un errore: Se TRUE, significa che si è verificato un errore e l'uscita STATUS è valida. In caso di errore tutte le altre uscite vengono impostate a 0. Gli errori di comunicazione vengono segnalati solo nelle uscite ERROR e STATUS dell'istruzione USS_Port_Scan / USS_Port_Scan_31. STATUS OUT Word 0 Codice di errore (vedere Messaggi di errore (Pagina 200)). RUN_EN OUT Bool FALSE Funzionamento abilitato: questo bit indica se l'azionamento è in funzione. D_DIR OUT Bool FALSE Direzione dell'azionamento: questo bit indica se l'azionamento funziona in avanti. FALSE in avanti TRUE all'indietro INHIBIT OUT Bool FALSE Azionamento disabilitato: questo bit indica lo stato del bit di disabilitazione per l'azionamento. FALSE non disabilitato TRUE disabilitato FAULT OUT Bool FALSE Errore di azionamento: questo bit indica che si è verificata un errore nell'azionamento. Per resettare questo bit occorre eliminare il guasto e impostare il bit F_ACK. SPEED OUT Real 0.0 Valore istantaneo del numero di giri dell'azionamento (valore in scala di STATUS 2 dell'azionamento): numero di giri dell'azionamento in percentuale rispetto al numero di giri configurato. STATUS1 OUT Word 0 STATUS 1 dell'azionamento questo valore contiene bit di stato fissi di un azionamento. STATUS3 OUT Word 0 STATUS 3 dell'azionamento Questo valore contiene una parola di stato dell'azionamento configurabile dall'utente. STATUS4 OUT Word 0 STATUS 4 dell'azionamento Questo valore contiene una parola di stato dell'azionamento configurabile dall'utente. Manuale di guida alle funzioni, 12/2017, A5E AB 187

189 Parametri S7-1200/1500 Tipo di dati Standard Descrizione Dichiarazione S7-300/400/ WinAC STATUS5 OUT Word 0 STATUS 5 dell'azionamento STATUS6 OUT Word 0 STATUS 6 dell'azionamento STATUS7 OUT Word 0 STATUS 7 dell'azionamento STATUS8 OUT Word 0 STATUS 8 dell'azionamento Questo valore contiene una parola di stato dell'azionamento configurabile dall'utente. Questo valore contiene una parola di stato dell'azionamento configurabile dall'utente. Questo valore contiene una parola di stato dell'azionamento configurabile dall'utente. Questo valore contiene una parola di stato dell'azionamento configurabile dall'utente. Quando USS_Drive_Control / USS_Drive_Control_31 viene eseguita per la prima volta viene inizializzato nel DB di istanza l'azionamento indicato nell'indirizzo USS (parametro DRIVE). Dopo l'inizializzazione le istruzioni USS_Port_Scan / USS_Port_Scan_31 successive possono iniziare la comunicazione con l'azionamento da questo numero di azionamento. Se si modifica il numero di azionamento è necessario portare prima la CPU in STOP e poi di nuovo in RUN per inizializzare il DB di istanza. I parametri di ingresso vengono configurati nel buffer di trasmissione USS e le uscite - se disponibili - vengono lette da un "precedente" buffer per le risposte valido. USS_Drive_Control / USS_Drive_Control_31 configura solo i dati da trasmettere e analizza i dati ricevuti in una precedente richiesta. Il senso di rotazione dell'azionamento si può comandare dall'ingresso DIR (Bool) o tramite il segno (positivo o negativo) nell'ingresso SPEED_SP (Real). La tabella seguente spiega come questi ingressi interagiscono per determinare il senso di rotazione dell'azionamento, presupponendo che il senso di rotazione del motore sia in avanti. Tabella 5-36 Interazione dei parametri SPEED_SP e DIR SPEED_SP DIR Senso di rotazione dell'azionamento Valore > 0 0 All'indietro Valore > 0 1 In avanti Valore < 0 0 In avanti Valore < 0 1 All'indietro 188 Manuale di guida alle funzioni, 12/2017, A5E AB

190 Variabili del blocco dati USS_Drive_Control / USS_Drive_Control_31 La tabella seguente mostra le variabili statiche pubbliche contenute nel DB di istanza di USS_Drive_Control / USS_Drive_Control_31 utilizzabili nel programma utente. Tabella 5-37 Variabili statiche nel DB di istanza Variabile Tipo di dati Standard Descrizione USS_DB. W Word 16#0 USS Drive Extended Error Code - valore specifico dell'azionamento _USSExtendedEr Il significato del messaggio di errore dipende da quale istruzione precedentemente ha segnalato un errore (ERROR = TRUE). Si distinguono i casi se- ror guenti: USS_Write_Param / USS_Write_Param_31: il significato del codice di errore è indicato nella descrizione dell'azionamento. USS_Read_Param / USS_Read_Param_31: il significato del codice di errore è indicato nella descrizione dell'azionamento. USS_Port_Scan / USS_Port_Scan_31: numero dell'azionamento interessato dal messaggio di errore. Versioni dell istruzione USS_Drive_Control: La versione 2.0 presenta le stesse funzioni della versione 1.2 ed è stata incrementata in ragione di misure interne. USS_Drive_Control_31: La versione 2.0 presenta le stesse funzioni della versione 1.0 ed è stata incrementata in ragione di misure interne. Manuale di guida alle funzioni, 12/2017, A5E AB 189

191 USS_Read_Param / USS_Read_Param_31: Leggi dati dall'azionamento Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Nota Impiego dell'istruzione USS_Read_Param_31 L'impiego dell'istruzione USS_Read_Param_31 è possibile soltanto in una CPU S Descrizione L'istruzione USS_Read_Param legge un parametro di un azionamento tra max. 16 azionamenti. L'istruzione USS_Read_Param_31 legge un parametro di un azionamento tra max. 31 azionamenti. Tutte le funzioni USS assegnate a una rete USS e a una porta di comunicazione PtP devono utilizzare lo stesso blocco dati di istanza dell'istruzione USS_Drive_Control / USS_Drive_Control_31. USS_Read_Param / USS_Read_Param_31 deve essere richiamato da un OB di ciclo del programma principale. Parametri Parametri Dichiarazione S7-1200/1500 Tipo di dati Standard Descrizione S7-300/400/ WinAC REQ IN Bool Con un fronte di salita in REQ viene impostata una nuova richiesta di lettura. DRIVE IN USInt Byte Indirizzo dell'azionamento: DRIVE è l'indirizzo dell'azionamento USS. Il campo valido è compreso tra l'azionamento 1 e l'azionamento 16. PARAM IN UInt Numero del parametro: PARAM indica quale parametro dell'azionamento viene scritto. Il campo per questo parametro è compreso tra 0 e In alcuni azionamenti è possibile accedere attraverso il byte più significativo del parametro INDEX ai valori dei parametri maggiori di Per maggiori informazioni sull'accesso a un campo maggiore consultare il manuale dell'azionamento. 190 Manuale di guida alle funzioni, 12/2017, A5E AB

192 Parametri Dichiarazione S7-1200/1500 Tipo di dati Standard Descrizione S7-300/400/ WinAC INDEX IN UInt Indice del parametro: INDEX indica in quale indice del parametro dell'azionamento si deve scrivere. È un valore a 16 bit in cui il byte meno significativo è il valore effettivo dell'indice (compreso in un campo da 0 a 255). Il byte più significativo può essere usato anche dall'azionamento ed è specifico di quest'ultimo. Per maggiori informazioni consultare il manuale dell'azionamento. USS_DB INOUT USS_BASE Il parametro USS_DB deve essere collegato con il parametro (statico) USS_DB del DB di istanza che viene creato e inizializzato quando si inserisce un'istruzione USS_Drive_Control / USS_Drive_Control_31 nel programma. DONE 1 OUT Bool FALSE Se questo parametro è TRUE, nell'uscita VALUE si trova il valore del parametro di lettura richiesto precedentemente. Questo bit viene impostato quando l'istruzione USS_Drive_Control / USS_Drive_Control_31 rileva la risposta di lettura dell'azionamento. Questo bit viene resettato al successivo richiamo di USS_Read_Param / USS_Read_Param_31. ERROR OUT Bool FALSE ERROR = TRUE: si è verificato un errore e l'uscita STATUS è valida. In caso di errore tutte le altre uscite vengono impostate a 0. Gli errori di comunicazione vengono segnalati solo nelle uscite ERROR e STATUS dell'istruzione USS_Port_Scan / USS_Port_Scan_31. Eventualmente verificare anche il valore della variabile statica USS_DB. w_ussextendederror nel DB di istanza dell'istruzione USS_Drive_Control / USS_Drive_Control_31. STATUS OUT Word 0 Codice di errore (vedere Messaggi di errore (Pagina 200)). VALUE OUT Variant (Word, Int, UInt, DWord, DInt, UDInt, Real) Any (Word, Int, UInt, DWord, DInt, UDInt, Real) È il valore del parametro letto ed è valido solo se il bit DONE è TRUE. 1 Il bit DONE indica che dei dati validi sono stati letti dall'azionamento motore indirizzato e forniti alla CPU. Non indica che l'istruzione è in grado di leggere direttamente un ulteriore parametro. Prima che il canale del parametro sia libero e utilizzabile dall'azionamento, deve essere inviata all'azionamento motore una richiesta di lettura vuota che deve anche essere confermata dall'istruzione. Se si richiama direttamente USS_Read_Param / USS_Read_Param_31 o USS_Write_Param / USS_Write_Param_31 per l'azionamento motore specifico viene generato l'errore 16#818A. Manuale di guida alle funzioni, 12/2017, A5E AB 191

193 Versioni dell istruzione USS_Read_Param: La versione 1.5 presenta le stesse funzioni della versione 1.4 ed è stata incrementata in ragione di misure interne. USS_Read_Param_31: La versione 1.1 presenta le stesse funzioni della versione 1.0 ed è stata incrementata in ragione di misure interne. 192 Manuale di guida alle funzioni, 12/2017, A5E AB

194 USS_Write_Param / USS_Write_Param_31: Modifica dati nell'azionamento Nota Impiego con CM1241 L'impiego di quest'istruzione con un CM1241 è possibile soltanto a partire dalla versione V2.1 del firmware del modulo. Nota Impiego dell'istruzione USS_Write_Param_31 L'impiego dell'istruzione USS_Write_Param_31 è possibile soltanto in una CPU S Nota Per le istruzioni di scrittura EEPROM (EEPROM in un azionamento USS) vale: Ridurre al minimo il numero delle operazioni di scrittura nella EEPROM per garantire la massima durata possibile della EEPROM. Descrizione L'istruzione USS_Write_Param modifica un parametro di un azionamento tra max. 16 azionamenti. L'istruzione USS_Write_Param_31 modifica un parametro di un azionamento tra max. 31 azionamenti. Tutte le funzioni USS assegnate a una rete USS e a una porta di comunicazione PtP devono utilizzare lo stesso blocco dati di istanza di USS_Drive_Control / USS_Drive_Control_31. USS_Write_Param / USS_Write_Param_31 deve essere richiamato dall'ob di ciclo di un programma principale. Manuale di guida alle funzioni, 12/2017, A5E AB 193

195 Parametri Tabella 5-38 Tipi di dati per i parametri Parametri S7-1200/1500 Tipo di dati Standard Descrizione Dichiarazione S7-300/400/ WinAC REQ IN Bool Con un fronte di salita in REQ viene impostata una nuova richiesta di scrittura. DRIVE IN USInt Byte Indirizzo dell'azionamento: DRIVE è l'indirizzo dell'azionamento USS. Il campo valido è compreso tra l'azionamento 1 e l'azionamento 16. PARAM IN UInt Numero del parametro: PARAM indica quale parametro dell'azionamento viene scritto. Il campo per questo parametro è compreso tra 0 e In alcuni azionamenti è possibile accedere attraverso il byte più significativo del parametro INDEX ai valori dei parametri maggiori di Per maggiori informazioni sull'accesso a un campo maggiore consultare il manuale dell'azionamento. INDEX IN UInt Indice del parametro: INDEX indica in quale indice del parametro dell'azionamento si deve scrivere. È un valore a 16 bit in cui il byte meno significativo è il valore effettivo dell'indice (compreso in un campo da 0 a 255). Il byte più significativo può essere usato anche dall'azionamento ed è specifico di quest'ultimo. Per maggiori informazioni consultare il manuale dell'azionamento. EEPROM IN Bool Salvataggio nella EEPROM dell'azionamento: se TRUE, la scrittura di un parametro nell'azionamento viene salvata nella EEPROM dell'azionamento. Se FALSE, il valore scritto viene salvato solo temporaneamente e va perso alla successiva inserzione dell'azionamento. VALUE IN Variant (Word, Int, UInt, DWord, DInt, UDInt, Real) Any (Word, Int, UInt, DWord, DInt, UDInt, Real) Valore del parametro nel quale scrivere. Deve essere valido in caso di fronte di salita di REQ. USS_DB INOUT USS_BASE Il parametro USS_DB deve essere collegato con il parametro (statico) USS_DB del DB di istanza che viene creato e inizializzato quando si inserisce un'istruzione USS_Drive_Control / USS_Drive_Control_31 nel programma. DONE 1 OUT Bool FALSE Se TRUE, l'ingresso VALUE è stato scritto nell'azionamento. Questo bit viene impostato quando l'istruzione USS_Drive_Control / USS_Drive_Control_31 rileva la risposta di scrittura dell'azionamento. Questo bit viene resettato al successivo richiamo di USS_Write_Param / USS_Write_Param_ Manuale di guida alle funzioni, 12/2017, A5E AB

196 Parametri S7-1200/1500 Tipo di dati Standard Descrizione Dichiarazione S7-300/400/ WinAC ERROR OUT Bool FALSE Se TURE, si è verificato un errore e l'uscita STATUS è valida. In caso di errore tutte le altre uscite vengono impostate a 0. Gli errori di comunicazione vengono segnalati solo nelle uscite ERROR e STATUS dell'istruzione USS_Port_Scan / USS_Port_Scan_31. Eventualmente verificare anche il valore della variabile statica USS_DB. w_ussextendederror nel DB di istanza dell'istruzione USS_Drive_Control / USS_Drive_Control_31. STATUS OUT Word 0 Codice di errore (vedere Messaggi di errore (Pagina 200)). 1 Il bit DONE indica che dei dati validi sono stati letti dall'azionamento motore indirizzato e forniti alla CPU. Ciò non significa che la biblioteca USS sia in grado di leggere immediatamente un altro parametro. Prima che il canale del parametro sia libero e utilizzabile dall'azionamento, deve essere inviata all'azionamento motore una richiesta di scrittura vuota che deve anche essere confermata dall'istruzione. Se si richiama direttamente USS_Read_Param / USS_Read_Param_31 oder USS_Write_Param / USS_Write_Param_31 per l'azionamento motore specifico viene generato l'errore 0x818A. Versioni dell istruzione USS_Write_Param: La versione 1.6 presenta le stesse funzioni della versione 1.5 ed è stata incrementata in ragione di misure interne. USS_Write_Param_31: La versione 1.1 presenta le stesse funzioni della versione 1.0 ed è stata incrementata in ragione di misure interne. Manuale di guida alle funzioni, 12/2017, A5E AB 195

197 Informazioni generali sulla configurazione di un azionamento Requisiti per la configurazione di un azionamento Per gli azionamenti è necessario configurare l'utilizzo di 4 parole PKW (Valorediidentificazioneparametro). Configurare gli azionamenti per 2, 4, 6 o 8 parole PZD (areadatidiprocesso). Il numero delle parole PZD nell'azionamento deve corrispondere all'ingresso PZD_LEN nell'istruzione USS_Drive_Control dell'azionamento. La velocità di trasmissione di tutti gli azionamenti deve corrispondere all'ingresso BAUD dell'istruzione USS_Port_Scan. Accertarsi che l'azionamento sia stato configurato per la comunicazione USS. Definire nell'azionamento che il setpoint della frequenza venga approntato tramite l'interfaccia USS. Accertarsi che sia stato definito l'indirizzo dell'azionamento (aree: 1-16). L'indirizzo deve corrispondere all'ingresso DRIVE nel blocco USS_Drive_Control dell'azionamento. Accertarsi che la rete RS485 sia chiusa correttamente. Collegamento e configurazione dell'azionamento SINAMICS V20 Un esempio applicativo sul funzionamento di un azionamento SINAMICS V20 in un S è disponibile in Internet. ( Collegamento dell'azionamento SINAMICS V20 Esempio di collegamento di un azionamento SIEMENS G120(C) ad una rete USS. Esempi di collegamento di altri azionamenti si trovano nei rispettivi manuali. Il collegamento di un azionamento SINAMICS G120(C) alla rete USS avviene con l'impiego di un connettore. Il collegamento è resistente ai cortocircuiti e separato galvanicamente. 1 Potenziale di riferimento 0 V 2 RS485N, ricezione e invio (-) 3 RS485N, ricezione e invio (+) 4 Schermatura del cavo 5 Non utilizzato Figura 5-3 Collegamento USS 196 Manuale di guida alle funzioni, 12/2017, A5E AB

198 ATTENZIONE Potenziali di riferimento diversi Se si collegano tra loro dispositivi con potenziale di riferimento diverso si possono causare flussi di corrente pericolosi nel cavo di connessione. Tali flussi di corrente possono determinare errori di comunicazione e danneggiare i dispositivi. Per prevenire il formarsi di flussi di corrente pericolosi accertarsi che i dispositivi da collegare tramite il cavo di connessione abbiano lo stesso circuito di riferimento o che siano isolati. Accertarsi che la schermatura sia collegata alla massa o al pin 1 del connettore di bus sull'azionamento. Accertarsi che il morsetto 2 (GND) di G120(C) sia collegato alla massa. Se il master RS485 (ad es. CPU S con modulo di comunicazione CM1241) è collegato tramite un connettore PROFIBUS, cablare il bus come indicato nel seguito: Figura 5-4 Collegamento del modulo di comunicazione Manuale di guida alle funzioni, 12/2017, A5E AB 197

199 Se il master RS485 è un nodo finale della rete o se il collegamento è di tipo punto a punto, utilizzare i morsetti A1 e B1 (non A2 e B2) del connettore PROFIBUS in quanto questi ultimi consentono la terminazione della rete (ad es. con un connettore DP 6ES7972-0BB52-0XA0). Se G120(C) è stato configurato come nodo di chiusura nella rete, posizionare su "ON" l'interruttore per la resistenza terminale del bus. Figura 5-5 Collegamento di nodi di chiusura Configurazione di un azionamento G120(C) Prima di collegare un azionamento all's o ET 200SP verificare che abbia i parametri di sistema descritti qui di seguito. Fase Istruzione Istruzioni operative 1 Eseguire la messa in servizio di base dell'azionamento con il pannello operatore BOP-2. Il convertitore offre diverse preimpostazioni (macro) per i relativi ingressi e uscite e per l'interfaccia per il bus di campo. Nel 9 passo della messa in servizio di base (MAC PAR p15) selezionare la macro 21 per la comunicazione USS. Sono così preimpostati anche i seguenti parametri: G120 1) G120C 2) Cap Cap Velocità di trasmissione dati (p2020): bit/s Numero PZD (p2022): 2 Numero PKW (p2023): variabile Avvertenza: L'esecuzione della messa in servizio di base è possibile anche con il software STARTER oppure con SINAMICS Startdrive. 2 Dall'interruttore per l'impostazione dell'indirizzo sulla Control Unit di G120 o di G120(C), definire l'indirizzo USS del convertitore. Area di indirizzi valida: 1 30 Avvertenza: L'impostazione dell'indirizzo USS può essere eseguita anche dal parametro p2021 o da STARTER o SINAMICS Startdrive. I seguenti passi consentono al pannello operatore BOP-2 l'accesso diretto ai parametri, selezionando i numeri degli stessi e modificando i relativi valori. Cap Cap Cap Cap Manuale di guida alle funzioni, 12/2017, A5E AB

200 Fase Istruzione Istruzioni operative 3 Adeguare alla propria applicazione i seguenti parametri del convertitore riferiti alla comunicazione: G120 1) G120C 2) Cap Cap Velocità di trasmissione dati (p2020), se bit/s (accertare la corrispondenza con il parametro BAUD dell'istruzione di comunicazione USS_Port_Scan.) Numero PZD (p2022), se 2 (accertare la corrispondenza con il parametro PZD_LEN dell'istruzione di comunicazione USS_Drive_Control.) Numero PKW (p2023) = 4 (modificare, impostandolo su "4", il valore definito per default sulla "variabile" (127) tramite la macro 21, (lo richiedono le istruzioni USS_Read_Param e USS_Write_Param) Tempo di controllo [ms] (p2040) bus di campo SS 4 Stabilisce la sorgente per il setpoint del numero di giri. n_soll Ausw (p1000[0]) = 6 (Il setpoint del numero di giri viene approntato tramite il bus USS.) 5 Impostare la grandezza di riferimento per numero di giri e frequenza. n_riferimento f_riferimento (p2000) = (6.00 min -1 fino a min -1 ) (Tutti i valori relativi indicati per i numeri di giri o per le frequenze si rifanno a questa grandezza di riferimento. La grandezza di riferimento corrisponde a 100 % o 4000esadec. (parola) o esadec. (doppia parola). In questo caso vale quanto segue: fgrandezza di riferimento (in Hz) = ngrandezza di riferimento (in ((min -1 ) / 60) x numero coppie di poli)) 6 Trasferire i parametri nella memoria non volatile. Salvare i parametri (p0971) = 1 1) G120 ( 2) G120(C) ( Manuale di guida alle funzioni, 12/2017, A5E AB 199

201 Messaggi di errore Panoramica dei messaggi di errore PtP I messaggi di errore vengono messi a disposizione nell'uscita STATUS di un'istruzione e possono essere valutati lì o elaborati nel programma utente. Codice di Descrizione Rimedio errore 16#0000 Nessun errore - Stato di RECEIVE e codici di errore 16#0094 Fine del telegramma riconosciuta dalla "ricezione di - una lunghezza fissa/massima del telegramma" 16#0095 Fine del telegramma riconosciuta dal "Time out dei - messaggi" 16#0096 Fine del telegramma riconosciuta dallo scadere del - "Tempo di ritardo del carattere" 16#0097 Il telegramma è stato interrotto poiché è stato raggiunto - il tempo di risposta massimo. 16#0098 Fine del telegramma riconosciuta perché sono soddisfatte - le condizioni per "Rileva la lunghezza dal mes- saggio" 16#0099 Fine del telegramma riconosciuta dalla ricezione della "Sequenza di fine" - Stato di SEND e codici di errore 16#7000 Blocco nel funzionamento a vuoto - 16#7001 Primo richiamo di un nuovo telegramma: trasmissione - dei dati avviata 16#7002 Richiamo intermedio: trasmissione dei dati in corso - 16#8085 Lunghezza indicata non consentita Selezionare una lunghezza del telegramma appropriata. Sono consentiti (in funzione del modulo): /2048/4096 (Byte) 16#8088 La lunghezza indicata è maggiore dell'area impostata nel buffer di ricezione. Avvertenza: se nel parametro BUFFER è stato specificato il tipo di dati STRING, questo codice di errore viene visualizzato anche se la lunghezza della stringa attuale è minore del valore indicato nel parametro LENGTH. 16#8090 Errore di configurazione: Numero dispari di byte in WString Modificare l'area nel buffer di ricezione o selezionare una lunghezza del telegramma adeguata all'area impostata nel buffer di ricezione. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Scegliere un numero pari di byte. 200 Manuale di guida alle funzioni, 12/2017, A5E AB

202 Codice di errore Descrizione Stato di RECEIVE e codici di errore 16#7002 Richiamo intermedio: Trasferimento dati in corso - 16#8088 Il numero di caratteri ricevuti è maggiore di quanto indicato nel parametro BUFFER. 16#8090 Errore di configurazione: Numero dispari di byte in WString Codici di segnalazione degli errori delle funzioni speciali 16#818F Impostazione errata per il numero del parametro (solo per USS) Rimedio Selezionare una lunghezza del telegramma appropriata. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Scegliere un numero pari di byte. Selezionare un numero di parametro adeguato (PARAM). Sono consentiti: #8190 Impostazione errata del calcolo CRC Selezionare un valore adeguato per il calcolo CRC. Sono consentiti: disattivato o attivato. Verificare se il modulo indirizzato supporta il calcolo CRC. 16#8191 Impostazione errata dell'allarme di diagnostica Selezionare un valore adatto per "Allarme di diagnostica". Sono consentiti: allarme di diagnostica disattivato o attivato. Verificare se il modulo indirizzato supporta la generazione di allarmi di diagnostica. 16#8193 Il modulo non supporta la diagnostica della tensione di alimentazione L+. Selezionare un valore adatto per "Allarme di diagnostica". Sono consentiti: allarme di diagnostica disattivato o attivato. Verificare se il modulo indirizzato supporta la generazione degli allarmi di diagnostica. Manuale di guida alle funzioni, 12/2017, A5E AB 201

203 Codice di errore Descrizione Codici di segnalazione degli errori di configurazione della porta Rimedio 16#81A0 Il modulo non supporta questo protocollo. Selezionare un protocollo (PROTOCOL) consentito per il modulo. 16#81A1 Il modulo non supporta questa velocità di trasmissione dati. 16#81A2 Il modulo non supporta questa impostazione per la parità. Selezionare una velocità di trasmissione (BAUD) consentita per il modulo. Selezionare un valore adatto per "Parità" (PARITY). Sono consentiti: Nessuna (1) Pari (2) Dispari (3) Mark (4) Space (5) Qualsiasi (6) 16#81A3 Il modulo non supporta questo numero di bit di dati. Selezionare un valore adatto per "Numero di bit di dati" (DATABITS). Sono consentiti: 7 (2) 8 (1) 16#81A4 Il modulo non supporta questo numero di bit di stop. Selezionare un valore adatto per "Numero di bit di stop" (STOPBITS). Sono consentiti: 16#81A5 Il modulo non supporta questo tipo di controllo del flusso dati. 1 (1) 2 (2) Selezionare un controllo del flusso dati (FLOWCTRL) consentito per il modulo. 16#81A7 Valore non consentito per XON o XOFF Selezionare valori adatti per XON (XONCHAR) e XOFF(XOFFCHAR). Campo di valori ammesso: #81AA Modo di funzionamento non consentito I modi di funzionamento consentiti sono: Fullduplex (RS232) (0) Fullduplex (RS 422) a quattro fili (punto a punto) (1) / (CM PtP (ET 200SP)) Fullduplex (RS422) funzionamento a quattro fili (master multipoint) (2)/ (CM PtP (ET 200SP)) Fullduplex (RS422) funzionamento a quattro fili (Slave multipoint) (3) Semiduplex (RS485) funzionamento a 2 fili (4) 202 Manuale di guida alle funzioni, 12/2017, A5E AB

204 Codice di errore 16#81AB Descrizione Preimpostazione della linea di ricezione non consentita Rimedio Le preimpostazioni consentite sono: "Nessuna" preimpostazione (0) Segnale R(A)=5V, segnale R(B)=0 V (riconoscimento Break) (1): È disponibile solo nei seguenti casi: "Fullduplex (RS422) funzionamento a quattro fili (Punto a punto)" e "Fullduplex (RS422) funzionamento a quattro fili (Slave multipoint)". Segnale R(A)=0 V, segnale R(B)=5 V (2): questa preimpostazione corrisponde allo stato di riposo (nessuna trasmissione attiva). 16#81AC Valore non consentito per "Riconoscimento Break" Selezionare un valore adatto per "Riconoscimento Break". Sono consentiti: riconoscimento Break disattivato (0) riconoscimento Break attivo (1). 16#81AF Il modulo non supporta questo protocollo. Selezionare un protocollo consentito per il modulo. Codici di errore di configurazione della trasmissione 16#81B5 Più di 2 caratteri finali -osequenza di fine > 5 caratteri Selezionare valori adatti per "Carattere finale" e "Sequenza di fine". Sono consentiti: disattivato (0), 1 (1) o 2 (2) caratteri finali oppure disattivato (0), 1 (1)... 5 (5) caratteri per la sequenza di fine. 16#81B6 Send Configuration respinto perché è selezionato il protocollo 3964(R) Assicurarsi che con il protocollo 3964(R) impostato non venga inviata la configurazione della trasmissione. Manuale di guida alle funzioni, 12/2017, A5E AB 203

205 Codice di errore Descrizione Codici di errore di configurazione della ricezione Rimedio 16#81C0 Condizione iniziale non consentita Selezionare una condizione iniziale adatta. Sono consentiti: Invia Break prima dell'inizio del telegramma Invia Idle Line. 16#81C1 Condizione finale non consentita o non selezionata Selezionare una condizione finale adatta (vedere Ricezione di dati con Freeport (Pagina 41)). 16#81C3 Valore non consentito per "Lunghezza max. del messaggio" 16#81C4 Valore non consentito per "Offset del campo di lunghezza nel messaggio" 16#81C5 Valore non consentito per "Dimensioni del campo di lunghezza" Selezionare un valore adatto per "Lunghezza max. del messaggio" (MAXLEN). Campo di valori consentito (in funzione del modulo): /2048/4096 (byte) Selezionare un valore adatto per "Offset del campo di lunghezza nel messaggio". Campo di valori consentito (in funzione del modulo): /2048/4096 (byte) Selezionare un valore adatto per "Dimensioni del campo di lunghezza" (LENGTHSIZE). Campo valori consentito in byte: 1 (1) 2 (2) 4 (4) 16#81C6 Valore non consentito per "Numero dei caratteri che non rientrano nella lunghezza indicata" 16#81C7 La somma di "Offset del campo di lunghezza nel messaggio + Dimensioni del campo di lunghezza + Numero dei caratteri che non rientrano nella lunghezza indicata" supera la lunghezza massima del telegramma. Selezionare un valore adatto per "Nr. dei caratteri che non rientrano nella lunghezza indicata" (LENGTHM). Campo di valori ammesso: (byte) Selezionare valori adatti per "Offset del campo di lunghezza nel messaggio", "Dimensioni del campo di lunghezza" e "Numero dei caratteri che non rientrano nella lunghezza indicata". Campo di valori ammesso: Offset del campo di lunghezza nel messaggio (in funzione del modulo): /2048/4096 (byte) Dimensioni del campo di lunghezza: 1, 2 o 4 (byte) Numero dei caratteri che non rientrano nella lunghezza indicata: (byte) 16#81C8 Valore non consentito per "Time out di risposta" Selezionare un valore adatto per "Time out di risposta". Campo di valori ammesso: (ms) 16#81C9 Valore non consentito per "Tempo di ritardo del carattere" 16#81CB Sequenza di fine del telegramma attivata ma nessuno dei caratteri è attivato per la verifica Selezionare un valore adatto per "Tempo di ritardo del carattere". Campo di valori ammesso: (bit time) Attivare uno o più caratteri per la verifica. 204 Manuale di guida alle funzioni, 12/2017, A5E AB

206 Codice di errore 16#81CC Descrizione Sequenza di inizio del telegramma attivata ma nessuno dei caratteri è attivato per la verifica Rimedio Attivare uno o più caratteri per la verifica. 16#81CD Valore non consentito per "Impedisci sovrascrittura" Selezionare un valore adatto per "Impedisci sovrascrittura". Sono consentiti: Impedisci sovrascrittura disattivato (0) oppure Impedisci sovrascrittura attivato (1) 16#81CE Valore non consentito per "Cancella buffer di ricezione all'avviamento" Selezionare un valore adatto per "Cancella buffer di ricezione all'avviamento". Sono consentiti: Cancella buffer di ricezione all'avviamento disattivato (0) Cancella buffer di ricezione all'avviamento attivato (1) Stato di SEND e codici di errore 16#81D0 Ricezione di una richiesta di trasmissione durante l'esecuzione di un ordine di trasmissione Assicurarsi che durante l'esecuzione di un ordine di trasmissione non si verifichino ulteriori richieste di trasmissione. 16#81D1 Il tempo di attesa di XON o CTS = ON è scaduto. Il partner di comunicazione è disturbato, troppo lento oppure offline. Controllare il partner di comunicazione o modificare eventualmente la parametrizzazione. 16#81D2 "Hardware RTS sempre ON": ordine di trasmissione interrotto a causa della commutazione da DSR = ON a OFF 16#81D3 Overflow del buffer di trasmissione / telegramma di trasmissione troppo grande 16#81D5 Trasmissione interrotta per modifica della parametrizzazione, rilevamento della rottura di un conduttore o CPU in STOP 16#81D6 Trasmissione interrotta per mancata ricezione del carattere finale 16#81D7 Comunicazione disturbata tra programma utente e modulo 16#81D8 Tentativo di trasmissione respinto perché il modulo non è parametrizzato 16#81DF Per uno dei seguenti motivi, il modulo ha resettato l'interfaccia del FB: Il modulo è stato riavviato Il modulo è stato nuovamente parametrizzato STOP della CPU Controllare il partner di comunicazione. Assicurarsi che DSR sia impostato su ON per l'intera trasmissione. Selezionare una lunghezza del telegramma inferiore. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Verificare la parametrizzazione, la rottura conduttore e lo stato della CPU. Verificare la parametrizzazione dei caratteri finali e il telegramma del partner della comunicazione. Verificare la comunicazione (ad es. la corrispondenza del numero della sequenza). Parametrizzare il modulo. Manuale di guida alle funzioni, 12/2017, A5E AB 205

207 Codice di errore Descrizione Codici di errore di configurazione della ricezione 16#81E0 Telegramma interrotto: overflow del buffer di trasmissione / telegramma di trasmissione troppo grande Rimedio Richiamare più spesso la funzione di ricezione nel programma utente o parametrizzare una comunicazione con controllo del flusso dati. 16#81E1 Telegramma interrotto: Errore di parità Verificare la linea di collegamento dei partner di comunicazione ovvero che velocità di trasmissione, parità e numero di bit di stop siano gli stessi su entrambi i dispositivi. 16#81E2 Telegramma interrotto: errore di frame Verificare le impostazioni per bit di start, bit di dati, bit di parità, velocità di trasmissione e bit di stop. 16#81E3 Telegramma interrotto: errore di overflow dei caratteri Errore di firmware: rivolgersi al Customer Support. 16#81E4 Telegramma interrotto: lunghezza di "Offset del campo di lunghezza nel messaggio + Dimensioni del campo di lunghezza + Numero dei caratteri che non rientrano nella lunghezza indicata" superiore al buffer di ricezione Verificare le impostazioni per Offset del campo di lunghezza nel messaggio, Dimensioni del campo di lunghezza e Numero dei caratteri che non rientrano nella lunghezza indicata. 16#81E5 Telegramma interrotto: Break Linea di ricezione verso il partner interrotta. Ripristinare la linea o attivare il partner. 16#81E6 Numero massimo di "Telegrammi in ricezione bufferizzati" superato 16#81E7 Errori di sincronizzazione tra il modulo e Receive_P2P 16#81E8 Telegramma interrotto: tempo di ritardo del carattere scaduto prima che sia stato riconosciuto il criterio di fine del messaggio 16#81E9 Errore CRC Modbus (solo moduli di comunicazione che supportano Modbus) 16#81EA Telegramma Modbus troppo corto (solo moduli di comunicazione che supportano Modbus) 16#81EB Telegramma interrotto: lunghezza massima del telegramma raggiunta Richiamare più spesso l'istruzione nel programma utente, parametrizzare una comunicazione con controllo del flusso dati o aumentare il numero di telegrammi salvati nel buffer. Accertarsi che diverse istanze di Receive_P2P non accedano allo stesso modulo. Il dispositivo partner è troppo lento o è disturbato. Verificare eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Errore nella somma di controllo del telegramma Modbus. Controllare il partner di comunicazione. La lunghezza minima del telegramma Modbus non è stata raggiunta. Controllare il partner di comunicazione. Selezionare una lunghezza del telegramma inferiore per il partner di comunicazione. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Controllare i parametri del riconoscimento della fine del telegramma. 206 Manuale di guida alle funzioni, 12/2017, A5E AB

208 Codice di errore Descrizione Codici di errore dei segnali addizionali V24 Rimedio 16#81F0 Il modulo non supporta segnali addizionali V24 Si è tentato di impostare segnali addizionali per un modulo che non supporta i segnali addizionali V24. Assicurarsi che si tratti di un modulo RS232 o che sia impostata la modalità RS232 (ET 200SP). 16#81F1 Nessun comando dei segnali addizionali V24 Se è attivo il controllo del flusso dati hardware non è possibile comandare manualmente i segnali addizionali V24. 16#81F2 Impossibile impostare il segnale DSR in quanto l'unità è di tipo DTE. 16#81F3 Impossibile impostare il segnale DTR in quanto l'unità è di tipo DCE. 16#81F4 Errore block header (ad es. tipo di blocco errato oppure lunghezza di blocco errata) Codici di errore di configurazione della ricezione 16#8201 1) Receive_Conditions è un puntatore a un tipo di dati non consentito 16#8225 Receive_Conditionsindica l'area di memoria ottimizzata maggiore di 1 kbyte oppure Receive_Conditions indica l'area di memoria ottimizzata e la lunghezza di ricezione è maggiore dell'area indirizzata con Receive_Conditions. 16#8229 1) Receive_Conditions è un puntatore rivolto verso BOOL con numero di bit diverso da n * 8 Codici di errore generali Controllare il tipo parametrizzato dell'unità. L'unità deve essere di tipo DCE (data communication equipment). Controllare il tipo parametrizzato dell'unità. L'unità deve essere di tipo DTE (data terminal equipment). Verificare il DB di istanza e il block header. Inserire un puntatore a uno dei seguenti tipi di dati: DB, BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TIME_OF_DAY, TIME, S5TIME, DATE_AND_TIME, STRING Inserire un puntatore a un'area con la lunghezza max. seguente: Area di memoria ottimizzata: 1 kbyte Area di memoria non ottimizzata: 4 kbyte Avvertenza: Se il puntatore indica un'area di memoria ottimizzata, non trasmettere più di 1 kbyte. Se si utilizza un puntatore rivolto verso BOOL il numero di bit deve essere un multiplo di 8. 16#8280 Conferma negativa durante la lettura del modulo Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici RDREC.STATUS e nella descrizione dell'sfb RDREC. Controllare quanto immesso nel parametro PORT Prima del 1 richiamo impostare il parametro COM_RST. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici WRREC.STATUS e nella descrizione dell'sfb WRREC. 16#8282 Modulo non disponibile Verificare l'immissione nel parametro PORT e accertarsi che il modulo sia accessibile. Manuale di guida alle funzioni, 12/2017, A5E AB 207

209 Codice di errore Descrizione Codici di errore di configurazione della ricezione 16#82C1 Valore non consentito per "Telegrammi in ricezione bufferizzati". 16#82C2 Receive Configuration respinto perché è selezionato il protocollo 3964(R) 16#8301 1) Receive_Conditions è un puntatore a un tipo di dati non consentito 16#8322 Lunghezza dell'area errata per la lettura di un parametro Rimedio Selezionare un valore adatto per "Telegrammi in ricezione bufferizzati". Campo di valori ammesso: Assicurarsi che con il protocollo 3964(R) impostato non venga inviata la configurazione della ricezione. Selezionare un tipo di dati consentito. Sono consentiti: DB, BOOL, BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TIME_OF_DAY, TIME, S5TIME, DATE_AND_TIME, STRING Controllare quanto immesso nel parametro Receive_Conditions 16#8324 Errore di area per la lettura di un parametro Controllare quanto immesso nel parametro Receive_Conditions 16#8328 Errore di impostazione alla lettura di un parametro Controllare quanto immesso nel parametro Receive_Conditions Stato di SEND e codici di errore 16#8328 1) BUFFER è un puntatore a BOOL con numero di bit diverso da n * 8 Codici di errore di configurazione della ricezione 16#8332 Blocco dati non consentito nel parametro Receive_Conditions 16#833A La denominazione del blocco dati nel parametro Receive_Conditions indica un blocco dati non caricato. Se si utilizza un puntatore a BOOL il numero di bit deve essere un multiplo di 8. Controllare quanto immesso nel parametro Receive_Conditions Controllare quanto immesso nel parametro Receive_Conditions 16#8351 Tipo di dati non ammesso Controllare quanto immesso nel parametro Receive_Conditions 16#8352 1) Receive_Conditions non indica un blocco dati Controllare il puntatore a Receive_Conditions 16#8353 1) Receive_Conditions non indica una struttura del tipo Receive_Conditions Controllare il puntatore a Receive_Conditions 208 Manuale di guida alle funzioni, 12/2017, A5E AB

210 Codice di errore Descrizione Codici di errore del protocollo 3964(R) 16#8380 Errore di parametrizzazione: valore non consentito per "Tempo di ritardo del carattere". 16#8381 Errore di parametrizzazione: valore non consentito per "Time out di risposta". 16#8382 Errore di parametrizzazione: valore non consentito per "Priorità". Rimedio Selezionare un valore adatto per "Tempo di ritardo del carattere" (CharacterDelayTime). Campo di valori ammesso: (ms) Selezionare un valore adatto per "Time out di risposta" (AcknDelayTime). Campo di valori ammesso: (ms) Selezionare un valore adatto per "Priorità" (Priority). Sono consentiti: Elevato (1) Basso (0) 16#8383 Errore di parametrizzazione: valore non consentito per "Verifica blocco". Selezionare un valore adatto per "Verifica blocco" (BCC). Sono consentiti: con verifica blocco (1) senza verifica blocco (0) 16#8384 Errore di parametrizzazione: valore non consentito per "Tentativi di collegamento". 16#8385 Errore di parametrizzazione: valore non consentito per "Tentativi di trasmissione". 16#8386 Errore di runtime: numero di tentativi di collegamento superato 16#8387 Errore di runtime: numero di tentativi di trasmissione superato 16#8388 Errore di runtime: errore nel "carattere di verifica blocco" Il valore del carattere di verifica blocco creato internamente non coincide con quello ricevuto dal partner alla fine del collegamento. 16#8389 Errore di runtime: in attesa della disponibilità del buffer di ricezione è stato ricevuto un carattere non consentito Selezionare un valore adatto per "Tentativi di collegamento" (BuildupAttempts). Campo di valori ammesso: Selezionare un valore adatto per "Tentativi di trasmissione" (RepetitionAttempts). Campo di valori ammesso: Controllare il cavo dell'interfaccia e i parametri di trasmissione. Controllare anche sul lato del partner se la funzione di ricezione è parametrizzata correttamente. Controllare il cavo dell'interfaccia, i parametri di trasmissione e la parametrizzazione del partner della comunicazione. Controllare se il collegamento è fortemente disturbato, in questo caso si noteranno occasionalmente anche codici errati. Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. La richiesta di trasmissione del partner di comunicazione (STX, 02H) riceve in risposta DLE solo quando il buffer di ricezione si svuota. Prima non è consentito ricevere altri caratteri (ad eccezione di un altro STX). Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Manuale di guida alle funzioni, 12/2017, A5E AB 209

211 Codice di errore Descrizione 16#838A Errore di runtime: errore logico durante la ricezione. Dopo la ricezione di DLE è stato ricevuto un altro carattere qualsiasi (esclusi DLE, ETX). 16#838B Errore di runtime: tempo di ritardo del carattere superato 16#838C Errore di runtime: tempo di attesa della disponibilità del buffer di ricezione avviato 16#838D Errore di runtime: dopo NAK la ripetizione del telegramma non si avvia entro 4 s 16#838E Errore di runtime: durante il tempo di riposo sono stati ricevuti uno o più caratteri (esclusi NAK o STX). 16#838F Errore di runtime: conflitto di inizializzazione. Entrambi i partner hanno impostato la priorità alta 16#8391 Errore di parametrizzazione: dati di parametrizzazione 3964 respinti perché è impostato Freeport Rimedio Controllare se il partner raddoppia sempre DLE nell'intestazione del telegramma e nella stringa di dati o se il collegamento si disattiva con DLE ETX. Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Il dispositivo partner è troppo lento o disturbato. Verificare eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Richiamare più spesso l'istruzione nel programma utente o parametrizzare una comunicazione con controllo del flusso dati. Controllare il partner di comunicazione. Un telegramma ricevuto eventualmente errato deve essere ripetuto dal partner entro 4 secondi. Verificare il corretto comportamento del dispositivo partner, eventualmente con un dispositivo di controllo interfaccia da inserire nella linea di trasmissione. Impostare per uno dei partner la priorità "Bassa" Assicurarsi che con il protocollo Freeport impostato non vengano inviati i dati di parametrizzazione ) Solo per le istruzioni per le CPU S7-300/ Manuale di guida alle funzioni, 12/2017, A5E AB

212 Panoramica dei messaggi di errore Modbus Codice di errore Descrizione 16#0000 Nessun errore - Errore di configurazione dell'interfaccia - Modbus_Comm_Load 16#8181 Il modulo non supporta questa velocità di trasmissione dati. 16#8182 Il modulo non supporta questa impostazione per la parità. 16#8183 Il modulo non supporta questo tipo di controllo del flusso dati. Rimedio Selezionare una velocità di trasmissione consentita per il modulo nel parametro BAUD. Selezionare un valore adatto per la "Parità" nel parametro PARITY. Sono consentiti: Nessuna (1) Pari (2) Dispari (3) Mark (4) Space (5) Qualsiasi (6) Selezionare un controllo del flusso dati consentito per il modulo nel parametro FLOW_CTRL. 16#8184 valore non consentito per "Time out di risposta". Selezionare un valore adatto per "Time out di risposta" nel parametro RESP_TO. Campo di valori ammesso: (ms) 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_Config.RDREC.STATUS, Receive_Config.RDREC.STATUS o RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_Config.WRREC.STATUS, Receive_Config.WRREC.STATUS o WRREC.STATUS e nella descrizione dell'sfb WRREC. 16#8282 Modulo non disponibile Verificare l'immissione nel parametro PORT e accertarsi che il modulo sia accessibile. Manuale di guida alle funzioni, 12/2017, A5E AB 211

213 Codice di errore Descrizione Errore di configurazione - Modbus_Slave Rimedio 16#8186 Indirizzo slave non consentito Selezionare un indirizzo di slave adeguato nel parametro MB_ADDR. Sono consentiti: per l'area di indirizzi standard; per l'area di indirizzi estesa (0 è riservato per il broadcast) 16#8187 Valore non consentito nel parametro MB_HOLD_REG Selezionare un valore adatto per l'holding register nel parametro MB_HOLD_REG. 16#8188 Modo di funzionamento non consentito o Broadcast (MB_ADDR = 0) e parametro MODE 1 16#818C Il puntatore di un'area MB_HOLD_REG deve essere un blocco dati o un'area merker. Con il modo di funzionamento Broadcast selezionare per MODE il valore 1 o scegliere un altro modo di funzionamento. Selezionare un valore adatto per il puntatore all'area MB_HOLD_REG. 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.WRREC.STATUS o Receive_P2P.WRREC.STATUS e nella descrizione dell'sfb WRREC. 16#8452 1) MB_HOLD_REG non è un puntatore a un DB o un'area Controllare il puntatore MB_HOLD_REG merker 16#8453 1) MB_HOLD_REG non è un puntatore del tipo BOOL o Controllare il puntatore MB_HOLD_REG WORD 16#8454 1) La lunghezza dell'area indirizzata con Controllare il puntatore MB_HOLD_REG MB_HOLD_REG supera la lunghezza del DB o l'area indirizzata è troppo piccola per il numero di dati da leggere o scrivere. 16#8455 1) MB_HOLD_REG indica un DB protetto in scrittura Controllare il puntatore MB_HOLD_REG 16#8456 1) Errore di esecuzione dell'istruzione. La causa dell'errore si trova nel parametro statico STATUS. Determinare il valore del parametro SFCSTATUS. Leggerne il significato nella descrizione dell'sfc51, parametro STATUS. 212 Manuale di guida alle funzioni, 12/2017, A5E AB

214 Codice di errore Descrizione Errore di configurazione - Modbus_Master Rimedio 16#8180 Valore non consentito per il parametro MB_DB Il valore parametrizzato nell'istruzione Modbus_Comm_Load per MB_DB (DB dei dati di istanza) non è consentito. Controllare l'interconnessione dell'istruzione Modbus_Comm_Load e i relativi messaggi di errore. 16#8186 Indirizzo della stazione non consentito Selezionare un indirizzo di stazione adeguato nel parametro MB_ADDR. Sono consentiti: per l'area di indirizzi standard; per l'area di indirizzi estesa (0 è riservato per il broadcast) 16#8188 Modo di funzionamento non consentito o Broadcast (MB_ADDR = 0) e parametro MODE 1 Con il modo di funzionamento Broadcast selezionare per MODE il valore 1 o scegliere un altro modo di funzionamento. 16#8189 Indirizzo dei dati non consentito Selezionare un valore adatto per l'indirizzo dei dati nel parametro DATA_ADDR. Vedere la descrizione Modbus_Master (Pagina 131) nel sistema di informazione 16#818A Lunghezza indicata non consentita Selezionare una lunghezza dei dati adeguata nel parametro DATA_LEN. Vedere la descrizione Modbus_Master (Pagina 131) nel sistema di informazione 16#818B Valore non consentito per DATA_PTR Selezionare nel parametro DATA_PTR un valore adeguato per il puntatore dati (indirizzo M o DB). Vedere la descrizione Modbus_Master (Pagina 131) nel sistema di informazione 16#818C Errore di interconnessione del parametro DATA_PTR Controllare l'interconnessione dell'istruzione. 16#818D La lunghezza dell'area indirizzata con DATA_PTR Controllare il puntatore DATA_PTR supera la lunghezza del DB o l'area indirizzata è troppo piccola per il numero di dati da leggere o scrivere. 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Send_P2P.WRREC.STATUS, Receive_P2P.WRREC.STATUS o Receive_Reset e nella descrizione dell'sfb WRREC. Manuale di guida alle funzioni, 12/2017, A5E AB 213

215 Codice di errore Descrizione Errore di comunicazione - Modbus_Master e Modbus_Slave Rimedio 16#80D1 Il tempo di attesa di XON o CTS = ON è scaduto. Il partner di comunicazione è disturbato, troppo lento oppure offline. Controllare il partner di comunicazione o modificare eventualmente la parametrizzazione. 16#80D2 "Hardware RTS sempre ON": ordine di trasmissione interrotto a causa della commutazione da DSR = ON a OFF 16#80E0 Telegramma interrotto: overflow del buffer di trasmissione / telegramma di trasmissione troppo grande Controllare il partner di comunicazione. Assicurarsi che DSR sia impostato su ON per l'intera trasmissione. Richiamare più spesso l'istruzione nel programma utente o parametrizzare una comunicazione con controllo del flusso dati. 16#80E1 Telegramma interrotto: errore di parità Verificare la linea di collegamento dei partner di comunicazione ovvero che velocità di trasmissione, parità e numero di bit di stop siano gli stessi su entrambi i dispositivi. 16#80E2 Telegramma interrotto: errore di frame Verificare le impostazioni per bit di start, bit di dati, bit di parità, velocità di trasmissione e bit di stop. 16#80E3 Telegramma interrotto: errore di overflow dei caratteri Controllare il numero di dati del telegramma del partner della comunicazione. 16#80E4 Telegramma interrotto: lunghezza massima del telegramma raggiunta Selezionare una lunghezza del telegramma inferiore per il partner di comunicazione. Sono consentiti (in funzione del modulo): /2048/4096 (byte) Errore di comunicazione - Modbus_Master 16#80C8 Lo slave non risponde entro il tempo impostato Verificare la velocità di trasmissione, la parità e il cablaggio dello slave. 16#80C9 Lo slave non risponde entro il tempo impostato tramite Blocked_Proc_Timeout. Verificare l'impostazione di Blocked_Proc_Timeout. Controllare se il modulo è stato parametrizzato con l'istruzione Modbus_Comm_Load. Eventualmente, dopo aver estratto e reinserito il modulo o al ripristino della tensione, è necessario riparametrizzare il modulo tramite Modbus_Comm_Load. 16#8200 L'interfaccia è occupata da una richiesta in corso. Ripetere l'ordine successivamente. Prima di avviare un nuovo ordine assicurarsi che non siano più in corso altri ordini. Errore di protocollo - Modbus_Slave (solo moduli di comunicazione che supportano Modbus) 16#8380 Errore CRC Errore nella somma di controllo del telegramma Modbus. Controllare il partner di comunicazione. 16#8381 Il codice funzione non è supportato o non è supportato per il Broadcast. 16#8382 La lunghezza indicata nel telegramma di richiesta non è consentita 16#8383 L'indirizzo dei dati nel telegramma di richiesta non è consentito 16#8384 Errore nel valore dei dati non consentito nel telegramma di richiesta 16#8385 Il valore di diagnostica non è supportato dallo slave Modbus (codice funzione 08) Controllare il partner della comunicazione e assicurarsi che venga inviato un codice funzione valido. Selezionare una lunghezza dei dati adeguata nel parametro DATA_LEN. Selezionare un valore adatto per l'indirizzo dei dati nel parametro DATA_ADDR. Controllare il valore dei dati nel telegramma di richiesta del master Modbus Lo slave Modbus supporta solo i valori di diagnostica 16#0000 e 16#000A. 214 Manuale di guida alle funzioni, 12/2017, A5E AB

216 Codice di errore Descrizione Rimedio Errore di protocollo - Modbus_Master (solo moduli di comunicazione che supportano Modbus) 16#8380 Errore CRC Errore nella somma di controllo del telegramma Modbus. Controllare il partner di comunicazione. 16#8381 Telegramma di risposta del Modbus Slave con messaggio di errore: Il codice funzione non è supportato. 16#8382 Telegramma di risposta del Modbus Slave con messaggio di errore: Lunghezza indicata non consentita 16#8383 Telegramma di risposta del Modbus Slave con messaggio di errore: L'indirizzo dei dati nel telegramma di richiesta non è consentito 16#8384 Telegramma di risposta del Modbus Slave con messaggio di errore: Errore nel valore dei dati 16#8385 Telegramma di risposta del Modbus Slave con messaggio di errore: Il valore di diagnostica non è supportato dallo slave Modbus 16#8386 Il codice funzione confermato non corrisponde a quello richiesto. Controllare il partner della comunicazione e assicurarsi che venga inviato un codice funzione valido. Selezionare una lunghezza dei dati adeguata. Selezionare un valore adatto per l'indirizzo dei dati nel parametro DATA_ADDR. Controllare il telegramma di richiesta inviato allo slave Modbus. Gli slave Modbus supportano solo i valori di diagnostica 16#0000 e 16#000A. Controllare il telegramma di risposta e l'indirizzamento dello slave. 16#8387 Risponde uno slave che non è stato indirizzato Controllare il telegramma di risposta dello slave. Controllare le impostazioni dell'indirizzo dello slave. 16#8388 Errore nella risposta dello slave a una richiesta di Controllare il telegramma di risposta dello slave. scrittura. 16#8828 1) DATA_PTR indica un indirizzo di bit diverso da n * 8 Controllare il puntatore DATA_PTR 16#8852 1) DATA_PTR non è un puntatore a un DB o un'area Controllare il puntatore DATA_PTR merker 16#8853 1) DATA_PTR non è un puntatore del tipo BOOL o Controllare il puntatore DATA_PTR WORD 16#8855 1) DATA_PTR indica un DB protetto in scrittura Controllare il puntatore DATA_PTR 16#8856 1) Errore al richiamo dell'sfc51 Ripetere il richiamo dell'istruzione Modbus_Master Errore - Modbus_Slave (solo moduli di comunicazione che supportano Modbus) 16#8428 1) MB_HOLD_REG indica un indirizzo di bit diverso da n Controllare il puntatore MB_HOLD_REG n * 8 16#8452 1) MB_HOLD_REG non è un puntatore a un DB o un'area Controllare il puntatore MB_HOLD_REG merker 16#8453 1) MB_HOLD_REG non è un puntatore del tipo BOOL o Controllare il puntatore MB_HOLD_REG WORD 16#8454 1) La lunghezza dell'area indirizzata con Controllare il puntatore MB_HOLD_REG MB_HOLD_REG supera la lunghezza del DB o l'area indirizzata è troppo piccola per il numero di dati da leggere o scrivere. 16#8455 1) MB_HOLD_REG indica un DB protetto in scrittura Controllare il puntatore MB_HOLD_REG 16#8456 1) Errore al richiamo dell'sfc51 Ripetere il richiamo dell'istruzione Modbus_Slave 1) Solo per le istruzioni per le CPU S7-300/400 Manuale di guida alle funzioni, 12/2017, A5E AB 215

217 Panoramica dei messaggi di errore USS Codice di errore Descrizione 16#0000 Nessun errore - Rimedio 16#8180 Lunghezza errata nella risposta dell'azionamento Controllare il telegramma di risposta dell'azionamento. 16#8181 Errore di tipo di dati Selezionare un tipo di dati adeguato. 16#8182 Errore di tipo di dati: la richiesta "Parola" non deve essere confermata da "Doppia parola" o "Real". 16#8183 Errore di tipo di dati: la richiesta "Doppia parola" o "Real" non deve essere confermata da "Parola". 16#8184 Errore della somma di controllo nella risposta dell'azionamento Sono consentiti: Real Parola Doppia parola Controllare il telegramma di risposta dell'azionamento. Controllare il telegramma di risposta dell'azionamento. Verificare l'azionamento e il collegamento di comunicazione. 16#8185 Errore di indirizzamento Area di indirizzi dell'azionamento consentita: #8186 Errore di setpoint Campo del setpoint: -200 % % 16#8187 Il numero di azionamento confermato è errato Controllare il telegramma di risposta dell'azionamento. 16#8188 Lunghezza PZD non consentita Lunghezze PZD consentite: 2, 4, 6, 8 parole 16#8189 Il modulo non supporta questa velocità di trasmissione dati. 16#818A Al momento è attiva un'altra richiesta per questo azionamento. Selezionare una velocità di trasmissione consentita per il modulo. Ripetere l'ordine di lettura o scrittura dei parametri in un momento successivo. 16#818B L'azionamento non risponde. Controllare l'azionamento. 16#818C L'azionamento risponde a una richiesta di parametri con un messaggio di errore. 16#818D L'azionamento risponde a una richiesta di parametri segnalando un errore di accesso. Controllare il telegramma di risposta dell'azionamento. Verificare la richiesta di parametri. Verificare se le istruzioni USS_Read_Param, USS_Write_Param oppure USS_Port_Scan hanno segnalato un errore. In caso affermativo controllare il valore della variabile statica USS_DB. w_ussextendederror dell'istruzione USS_Drive_Control. Controllare il telegramma di risposta dell'azionamento. Verificare la richiesta di parametri. 16#818E L'azionamento non è stato inizializzato. Controllare il programma utente e assicurarsi che per questo azionamento venga richiamata l'istruzione USS_Drive_Control. 216 Manuale di guida alle funzioni, 12/2017, A5E AB

218 Codice di errore Descrizione Rimedio 16#8280 Conferma negativa durante la lettura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Port_Config.RDREC.STATUS o Send_Config.RDREC.STATUS o Receive_Config.RDREC.STATUS o Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb RDREC. 16#8281 Conferma negativa durante la scrittura del modulo Controllare quanto immesso nel parametro PORT. Informazioni più precise sulla causa dell'errore sono indicate nei parametri statici Port_Config.WRREC.STATUS o Send_Config.WRREC.STATUS o Receive_Config.WRREC.STATUS o Send_P2P.RDREC.STATUS o Receive_P2P.RDREC.STATUS e nella descrizione dell'sfb WRREC. 1) Solo per le istruzioni per le CPU S7-300/400 Manuale di guida alle funzioni, 12/2017, A5E AB 217

219 Avviamento e diagnostica Comportamento all'avviamento Commutazioni nei vari stati di funzionamento Dopo l'avviamento del modulo di comunicazione la CPU e il modulo si scambiano tutti i dati tramite istruzioni. STOP della CPU CPU in RUN Durante la trasmissione dei dati tra il modulo di comunicazione e la CPU gli ordini di trasmissione e di ricezione vengono annullati. Lo stato RUN della CPU consente il funzionamento di trasmissione e ricezione. Con la parametrizzazione opportuna nella finestra delle proprietà del modulo di comunicazione è possibile cancellare automaticamente il buffer di ricezione sul modulo all'avviamento della CPU. Dal punto di vista del modulo di comunicazione non ci sono altri stati di funzionamento/altre commutazioni nei vari stati di funzionamento. 6.2 Funzioni di diagnostica Introduzione Le funzioni di diagnostica del modulo di comunicazione consentono una rapida localizzazione degli errori che si sono verificati. Le possibilità di diagnostica sono le seguenti: Diagnostica tramite elementi di visualizzazione del modulo di comunicazione Diagnostica tramite uscita STATUS delle istruzioni Allarme di diagnostica Gli elementi di visualizzazione forniscono informazioni sullo stato di funzionamento e su possibili stati di errore del modulo di comunicazione. Gli elementi di visualizzazione forniscono una prima visione generale degli errori interni, esterni e specifici dell'interfaccia che si sono verificati. Per maggiori informazioni consultare il manuale del modulo di comunicazione. Per la diagnostica degli errori le istruzioni dispongono di un'uscita STATUS che fornisce informazioni sugli errori di comunicazione tra modulo di comunicazione e CPU. Il parametro STATUS può essere valutato nel programma utente (è presente esattamente per un ciclo). Il modulo di comunicazione può generare un allarme di diagnostica sulla CPU assegnata. Il modulo di comunicazione mette a disposizione un'informazione di diagnostica. Questa informazione si analizza nel programma utente o leggendo il buffer di diagnostica della CPU. Manuale di guida alle funzioni, 12/2017, A5E AB 218

220 Avviamento e diagnostica 6.3 Allarmi di diagnostica 6.3 Allarmi di diagnostica I messaggi di diagnostica vengono visualizzati con testo esteso nella vista Online Diagnostica di STEP 7 (TIA Portal) I codici di errore possono essere analizzati con il programma utente. Si possono segnalare le seguenti diagnostiche: Errore di parametrizzazione (10H) Rottura conduttore (109H) Manuale di guida alle funzioni, 12/2017, A5E AB 219

221 Service & Support A A.1 Servizi di assistenza e supporto tecnico Offerta eccezionale e completa lungo tutto il ciclo di vita Sia che siate costruttori di macchine, fornitori di soluzioni o gestori di impianti: l'offerta di servizi di Siemens Industry Automation and Drive Technologies comprende prestazioni di assistenza complete per gli utenti più diversi e in tutti i settori dell'industria manifatturiera e di processo. Per tutti i nostri prodotti e sistemi offriamo servizi omogenei e strutturati, che garantiscono un supporto valido in ogni fase del ciclo di vita della vostra macchina o del vostro impianto dalla pianificazione alla realizzazione, attraverso la messa in servizio, fino alla manutenzione e alla modernizzazione. Il nostro Service & Support vi assiste in tutto il mondo e in tutte le questioni relative alla tecnica di automazione e di azionamento. In più di 100 Paesi, direttamente sul posto, attraverso tutte le fasi del ciclo di vita delle macchine e degli impianti. Un'équipe di esperti e specialisti vi assicura un'assistenza efficiente e un know-how completo. La frequenza regolare di corsi di formazione e il contatto costante tra i nostri collaboratori anche intercontinentali assicurano un service affidabile nei settori più disparati. Manuale di guida alle funzioni, 12/2017, A5E AB 220