Controllori multifunzione programmabili Manuale delle comunicazioni



Documenti analoghi
Il protocollo MODBUS. Il protocollo MODBUS Pag. 1 di 11

Capitolo 8 - Protocollo Modbus RTU per Drive SIRCO

DMA Accesso Diretto alla Memoria

Descrizione del protocollo

Progetto di RHS MicroAODV per Reti di Sensori A.A. 2007/2008

Uso di base delle funzioni in Microsoft Excel

ISTRUZIONI PER L'UTILIZZO DEL PROTOCOLLO MODBUS

Configurazione e comunicazione seriale. ISTRUZIONI PER L USO M.I.U. CSG2-14 / Cod. J ACS3 - ITA

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Collegamento dei Sistemi SLC come I/O remoti ai Processori PLC 5

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

Capitolo Trasmissione di dati

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari

LCMobile Restaurant. Guida su come usare il software per palmare LCMobile Restaurant.

Modulo plug&play MKMB-3-e-3. Interfaccia Modbus/RTU per contatori Iskraemeco MT831 / MT860

Protocolli di Comunicazione Elettronica dei Sistemi Digitali L-A Università di Bologna, Cesena

CTVClient. Dopo aver inserito correttamente i dati, verrà visualizzata la schermata del tabellone con i giorni e le ore.

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Invio SMS. DM Board ICS Invio SMS

Funzioni di Trasferimento Movimenti

4 3 4 = 4 x x x 10 0 aaa

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

Funzioni non documentate Openoffice.org. 3 Base mini-howto

Un metodo per il rilevamento degli errori: la tecnica del Bit di Parità

MANUALE CONFIGURAZIONE ED UTILIZZO GATEWAY MBUS-MODBUS (RTU/TCP) MODELLO PiiGAB M900

Configurazione & Programmazione Profibus DP. in Ambiente Siemens TIA Portal

1) GESTIONE DELLE POSTAZIONI REMOTE

Reti e Sistemi per l Automazione MODBUS. Stefano Panzieri Modbus - 1

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

ACCESSO AL SISTEMA HELIOS...

Dispositivo Modbus. Manuale di installazione e uso. Doc Rev.1 (03/15)

ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi terza

- Limena (Padova) - &HQWUDOH$;,6 MANUALE PER L UTENTE. Centrale mod. AXIS 5. Omologazione IMQ - ALLARME 1 e 2 LIVELLO

Presentation Draw. Guida dell utilizzatore

Operazioni Aritmetiche e Codici in Binario Giuseppe Talarico 23/01/2013

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Note applicative AN001: Driver ModBus

SISTEMI DI NUMERAZIONE E CODICI

Vlan Relazione di Sistemi e Reti Cenni teorici

Controller multicanale FT-200/MP

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

BARRIERA DI MISURA METRON GESTIONE LINEA SERIALE RS-485

I sistemi di numerazione

GUIDA RAPIDA INDICATORE WIN 22 PER MAGGIORI INFORMAZIONI CONSULTARE IL MANUALE COMPLETO DISPONIBILE NELL AREA DOCUMENTI:

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Part. Y1792A - 06/06-01 PC. Protocollo di comunicazione seriale Modbus

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

2 - Modifica Annulla ANNULLA TOPOGRAFICO ANNULLA TOPOGRAFICO MULTIPLO FIGURA 2.1

EasyPrint v4.15. Gadget e calendari. Manuale Utente

Manuale Gestore. STWS Web Energy Control - Servizio di telelettura sul WEB

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

EFA Automazione S.r.l. Serial Bridge 3 - Modbus RTU slave to Technolife (01 ITA).doc pag. 1 / 9

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Verifica della correttezza formale del numero di partita IVA

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Guida alla registrazione on-line di un DataLogger

Stampe in rete Implementazione corretta

Gestione dei File in C

1. Che cos è la multiprogrammazione? Si può realizzare su un sistema monoprocessore? 2. Quali sono i servizi offerti dai sistemi operativi?

Database Manager Guida utente DMAN-IT-01/09/10

LABORATORIO DI SISTEMI

LABORATORIO DI PROGRAMMAZIONE EDIZIONE 1, TURNO B

Spiegazione Open Interest Storico:

Registratori di Cassa

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

PROGRAMMA GESTIONE TURNI MANUALE UTENTE. Programma Gestione Turni Manuale Utente versione 1.1

Coordinazione Distribuita

Appunti sulla Macchina di Turing. Macchina di Turing

GW : OROLOGIO 2 CANALI

Guida alla registrazione on-line di un NovaSun Log

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

MANUALE PARCELLA FACILE PLUS INDICE

Configurazione moduli I/O serie EX

3URWRFROOR0RGEXVSHUS&2ñ0RGEXVSURWRFROIRUS&2ð 0DQXDOHG XVR 8VHUPDQXDO

CONTROLLO DI GESTIONE DELLO STUDIO

Modem e rete locale (LAN)

MANUALE UTENTE Fiscali Free

esigno MOBILE GUIDA RAPIDA CISA S.p.A. Via Oberdan, Faenza (RA) Italy Tel Fax

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

Funzioni in C. Violetta Lonati

Indice. 1. Manuale per essere aggiornato prima di usare 1.1. Installazione della SIM 1.2. Ricarica

Accise Settore Prodotti Alcolici Manuale d uso

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

COMBINATORE TELEFONICOMOD. KIM10GSM Istruzioni Base

KEYSTONE. OM8 - EPI 2 Modulo interfaccia AS-i Manuale di istruzione. Indice 1 Modulo Opzionale OM8: Interfaccia AS-i 1

Test di comunicazione tra due LOGO! 0BA7: Master - Master

Architettura hardware

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisiti preliminari

Guida all uso di Java Diagrammi ER

ESEMPIO 1: eseguire il complemento a 10 di 765

Codice identificativo dell aggiornamento: A

scada SCADA (Supervisory Control And Data Acquisition) L acronimo SCADA Scada e industria integrata

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Transcript:

Controllori multifunzione programmabili Manuale delle comunicazioni ISTRUZIONI PER L USO M.I.U. ACCS - 11 / 00-07 Cod. J30-304 - 1ACSAC 783.2 783.2 783.2 783.2 10 0.0 1 00.0 1 00.0 1 0 0. 0 10 0.0 1 00.0 1 00.0 10 0.0 L O C L O C L O C L O C 0.0 0.0 0. 0 0.0 0.0 0.0 0.0 0.0 0= 32 0 = 3 2 0= 32 0 = 3 2

Copyright 1996 ASCON spa Tutti i diritti riservati Nessuna parte di questo documento può essere riprodotta o trasmessa in qualsiasi forma a mezzo elettronico o meccanico per alcuno scopo, senza il permesso scritto di ASCON spa. ASCON spa garantisce il massimo impegno per assicurare l accuratezza delle informazioni contenute in questo documento. Tuttavia, al fine di mantenere la leadership tecnologica, i prodotti ASCON sono soggetti a miglioramenti continui; ciò potrebbe richiedere modifiche alle informazioni contenute in questo documento senza alcun preavviso. ASCON spa non sarà responsabile per errori tecnici o editoriali, oppure omissioni qui contenute, né per danni incidentali o conseguenti risultati dalla fornitura, prestazione o uso di questo materiale. AC STATION, AC PROGRAPH e AC EDIT, sono marchi registrati di ASCON spa. Tutti gli altri marchi e nomi di prodotti, sono marchi di fabbrica o marchi registrati dalle proprie società. ASCON spa 20021 Ospiate di Bollate ( Milano ) Italy Via Falzarego 9 / 11 - Tel. ++39-2-333371 - Fax ++39-2-3504243 http://www.ascon.it support@ascon.it 2

I N D I C E 1. INTRODUZIONE... 4 2. MODBUS & JBUS... 5 2.1 DIFFERENZE TRA MODBUS E JBUS... 5 2.2 RIFERIMENTI... 5 2.3 HARDWARE... 5 2.4 IL PROTOCOLLO MODBUS... 6 2.5 FORMATO DEI MESSAGGI... 6 2.6 L'INDIRIZZO... 6 2.7 IL CODICE FUNZIONE... 7 2.8 IL CRC16... 7 2.8.1 Esempio di calcolo del CRC16 in Visual Basic... 8 2.9 SINCRONIZZAZIONE DEI MESSAGGI... 8 3. LE FUNZIONI MODBUS... 9 3.1 READ COILS STATUS ( 01 )... 9 3.2 READ INPUT STATUS ( 02 )... 9 3.3 READ HOLDING REGISTERS ( 03 )... 9 3.4 READ INPUT REGISTERS ( 04 )... 10 3.5 FORCE SINGLE COIL ( 05 )... 10 3.6 PRESET SINGLE REGISTER ( 06 )... 10 3.7 FORCE MULTIPLE COILS ( 15 )... 11 3.8 PRESET MULTIPLE REGISTERS (16)... 11 4. LA GESTIONE DEGLI ERRORI... 13 4.1 CODICI D'ECCEZIONE... 13 5. SISTEMA DI SUPERVISIONE... 14 5.1 LA BASE DATI... 14 5.2 LA COMPOSIZIONE DEI FLOATING POINT UTILIZZATI... 15 5.3 LA FUNZIONE DI SWAP DEI FLOATING POINT... 15 5.4 VARIABILI LOGICHE ( COILS )... 16 5.5 VARIABILI NUMERICHE ( REGISTER )... 18 5.6 COME INSERIRE I DATI DI UN PROGRAMMA USANDO LA SERIALE MODBUS... 24 5.7 VARIABILI DI SISTEMA... 24 5.8 LETTURA E SCRITTURA DELLA CONFIGURAZIONE... 25 5.9 ESEMPIO DI PROGRAMMAZIONE E CONFIGURAZIONE TRAMITE RS 485... 26 5.10 LETTURA DEI MENU... 31 5.11 LETTURA DEI REALI... 32 5.12 LETTURA DELLE STRINGHE... 32 6. GLI INDIRIZZI STATICI E DINAMICI DI MODBUS / JBUS... 33 6.1 GLI INDIRIZZI STATICI... 33 6.2 GLI INDIRIZZI DINAMICI... 33 7. ARCNET... 34 7.1 HARDWARE... 34 7.2 PROTOCOLLO ARCNET PER REGOLATORE SERIE AC... 35 7.3 PROTOCOLLO TIPO A... 35 7.4 PROTOCOLLO TIPO B... 36 7.5 LA GESTIONE DEGLI ERRORI... 37 8. CALIBRAZIONE STAZIONE AC VIA SERIALE... 38 8.1 CALIBRAZIONE USCITE... 38 8.2 INDIRIZZI JBUS NEL MODO TEST... 39 8.3 FUNZIONI DISPONIBILI... 40 3

1. INTRODUZIONE Nello strumento AC-20 le comunicazioni rappresentano una componente molto rilevante, pertanto si ritiene opportuno stabilire in modo sistematico la loro funzione e la descrizione il più dettagliata possibile della loro operatività. Le linee di comunicazione presenti nello strumento, nella massima espansione, sono: ### Linea seriale di programmazione. Si tratta di una linea di tipo RS232 per la connessione temporanea ad un Personal Computer portatile o ad un terminale di programmazione, la cui funzione è quella di caricare, fuori linea, nella memoria dello strumento la configurazione e i dati di avviamento. Essendo permanentemente disponibile anche oltre il momento della programmazione, si suggerisce l'uso di questa linea per funzioni di "debugging" del sistema, consentendo il monitoraggio attraverso un P.C. con software appropriato delle variabili interne in "tempo reale" per la verifica del corretto funzionamento e l'avviamento. Essa é programmata per lavorare con la seguente configurazione: 9600,E,7,2 e non é possibile modificare tali parametri. ### Linea seriale verso il sistema di supervisione. E` una linea di tipo RS485 per la connessione ad un sistema di supervisione. Il protocollo di comunicazione, di tipo Master-Slave, è il JBus di cui è implementato il sottoinsieme delle funzioni necessarie. Lo strumento ha funzione di slave, risponde alle richieste e ai comandi trasmessi da parte del sistema supervisore secondo le modalità e le condizioni stabilite. ### Linea seriale verso l'unità ausiliaria. E` una linea di tipo RS485 per la connessione ad una unità remota di espansione di ingresso e uscita. Tale linea è gestita dallo strumento che ha funzione di master. ### Rete locale peer-to-peer. La rete peer-to-peer consente di inserire lo strumento in una rete ad alta velocità (2,5 Mbit/Sec) per la connessione paritetica con altri apparecchi, uguali o di tipo e/o produttore diverso, per lo scambio di dati. 4

CAP. 2. - MODBUS & JBUS 2. MODBUS & JBUS 2.1 Differenze tra MODBUS e JBUS 2.2 Riferimenti 2.3 Hardware La sola differenza che esiste tra i due protocolli e che il ModBus decrementa di uno gli indirizzi delle tabelle che saranno riportate, pertanto se una variabile si trova all'indirizzo 1 richiederemo la variabile 1 se usiamo il JBus e la variabile 0 nel caso di ModBus. Inoltre i possibili indirizzi ModBus partono da 0 mentre quelli JBus da 1. Gould Modbus Protocol Reference Guide (PI-MBUS-300 Rev. B) April JBUS Specification Global Eng. Doc. EIA STANARD RS -485 Modicon ModBus Protocol Reference Guide (PI-MBUS-300 Rev. H) L 'hardware deve essere RS-485 compatibile. La linea deve essere costituita da un cavo twistato di impedenza caratteristica di circa 120 Ω. Sul circuito CPU della stazione AC sono previsti tre switch (S1,S3,S4) aventi le seguenti funzioni. Switch Funzione Funzione S1-A = Nessuna S1-B = Terminazione 120 Ω S3-A = PullDown S3-B = Nessuna S4-A = Nessuna S4-B = PullUp In grigio le posizioni standard degli switch. La funzione di terminazione (S1-B) é vivamente consigliata per i due dispositivi che si trovano alle due opposte estremità della linea, come risulta dal seguente schema tratto dal manuale originale dello standard RS485: Rt Rt Terzo conduttore=nessuna connessione Rg Rg Rg G R G/R Comune logico Rg Rg Rg Terra G = Generatore R = Ricevitore G/R = Combinazione Generatore Ricevitore Rt = Resistenza di terminazione: un driver può pilotare 32 ricevitori più 2 resistenze da 120 Ω. Rg = Resistenza da 100 Ω. 5

2.4 Il protocollo MODBUS Il protocollo ModBus definisce il formato e la modalità di comunicazione tra un "master" che gestisce il sistema e uno o più "slave" che rispondono alle interrogazioni del master. Esso definisce come il master e gli slaves stabiliscono e interrompono la comunicazione, come trasmettitore e ricevitore sono identificati, come i messaggi sono scambiati e come gli errori sono rilevati. Si possono avere un master e fino a 247 slaves su una linea comune; occorre notare che questo è un limite logico del protocollo, l'interfaccia fisica può peraltro limitare ulteriormente il numero di dispositivi, per esempio l'interfaccia standard RS485 prevede un massimo di 32 strumenti connessi alla linea. Solo il master può iniziare una transazione. Una transazione può avere il formato domanda/risposta diretta ad un singolo slave o broadcast in cui il messaggio viene inviato a tutti i dispositivi sulla linea che non danno risposta. Una transazione è composta da una struttura (frame) singola domanda/singola risposta o una struttura singolo messaggio broadcast/nessuna risposta. Alcune caratteristiche del protocollo non sono definite. Queste sono: standard di interfaccia, baud rate, parità, numero di stop bits. Il protocollo consente inoltre di scegliere tra due "modi" di comunicazione, ASCII e RTU (binario). Negli strumenti ASCON viene implementato solo il modo RTU in quanto più efficiente. Il protocollo JBus è funzionalmente identico al ModBus e se ne differenzia per la diversa numerazione degli indirizzi: nel ModBus questi partono da zero (0000 = 1 indirizzo) mentre nel JBUS partono da uno (0001 = 1 indirizzo) mantenendo questo scostamento per tutta la numerazione. Nel seguito, se non esplicitamente menzionato, pur facendo riferimento al ModBus la descrizione si considera valida per entrambi i protocolli. 2.5 Formato dei messaggi 2.6 L'indirizzo Per poter comunicare tra due dispositivi, il messaggio deve essere contenuto in un "involucro". L'involucro lascia il trasmettitore attraverso una "porta" ed è "portato" lungo la linea fino ad una analoga "porta" sul ricevitore. ModBus stabilisce il formato di questo involucro che, tanto per il master che per lo slave, comprende: L'indirizzo del dispositivo con cui il master ha stabilito la transazione (l'indirizzo 0 corrisponde ad un messaggio broadcast inviato a tutti i dispositivi slave). Il codice della funzione che deve essere o è stata eseguita. I dati che devono essere scambiati. Il controllo d'errore composto secondo l'algoritmo CRC16. Se un dispositivo individua un errore nel messaggio ricevuto (di formato, di parità o nel CRC16) il messaggio viene considerato non valido e scartato, uno slave che rilevi un errore nel messaggio quindi non eseguirà l'azione e non risponderà alla domanda, così come se l'indirizzo non corrisponde ad un dispositivo in linea. Come sopra menzionato, le transazioni ModBus coinvolgono sempre il master, che gestisce la linea, ed uno slave per volta (tranne nel caso di messaggi broadcast). Per identificare il destinatario del messaggio viene trasmesso come primo carattere un byte che contiene l'indirizzo numerico del dispositivo slave selezionato. Ciascuno degli slave quindi avrà assegnato un diverso numero di indirizzo che lo identifica univocamente. Gli indirizzi legali sono quelli da 1 a 247, mentre l'indirizzo 0, che non può essere assegnato ad uno slave, posto in testa al messaggio trasmesso dal master indica che questo è "broadcast", cioè diretto a tutti gli slave contemporaneamente. Possono essere trasmessi come broadcast solo messaggi che non richiedono risposta per espletare la loro funzione, quindi solo le assegnazioni. 6

CAP. 2. - MODBUS & JBUS 2.7 Il codice funzione 2.8 Il CRC16 Il secondo carattere del messaggio identifica la funzione che deve essere eseguita nel messaggio trasmesso dal master, cui lo slave risponde a sua volta con lo stesso codice ad indicare che la funzione è stata eseguita. Sugli strumenti ASCON viene implementato un sottoinsieme delle funzioni ModBus che comprende: ### 01 Read Coil Status ### 02 Read Input Status ### 03 Read Holding Registers ### 04 Read Input registers ### 05 Force Single Coil ### 06 Preset Single register ### 07 Read Status ( Non implementato sulla serie AC ) ### 15 Force multiple Coils ### 16 Preset Multiple Registers Nell'implementazione per gli strumenti ASCON le funzioni 01 e 02 sono operativamente identiche e intercambiabili, così come le funzioni 03 e 04. Per una descrizione completa e dettagliata delle funzioni si rimanda al capitolo 3. Gli ultimi due caratteri del messaggio contengono il codice di ridondanza ciclica (Cyclic Redundancy Check) calcolato secondo l'algoritmo CRC16. Per il calcolo di questi due caratteri il messaggio (indirizzo, codice funzione e dati scartando i bit di start, stop e l'eventuale parità) viene considerato come un unico numero binario continuo di cui il bit più significativo (MSB) viene trasmesso prima. Il messaggio viene innanzitutto moltiplicato per x 16 (spostato a sinistra di 16 bit) e poi diviso per x 16 +x 15 +x 2 +1 espresso come numero binario (1100000000000101). Il quoziente intero viene poi scartato e il resto a 16 bit (inizializzato a FFFFh all'inizio per evitare il caso di un messaggio di soli zeri) viene aggiunto di seguito al messaggio trasmesso. Il messaggio risultante, quando diviso dal dispositivo ricevente per lo stesso polinomio (x 16 +x 15 +x 2 +1) deve dare zero come resto se non sono intervenuti errori (il dispositivo ricevente ricalcola il CRC). Di fatto, dato che il dispositivo che serializza i dati da trasmettere (UART) trasmette prima il bit meno significativo (LSB) anziché il MSB come dovrebbe essere per il calcolo del CRC, questo viene effettuato invertendo il polinomio. Inoltre, dato che il MSB del polinomio influenza solo il quoziente e non il resto, questo viene eliminato rendendolo quindi 1010000000000001. La procedura passo-passo per il calcolo del CRC16 è la seguente: 1) Caricare un registro a 16 bit con FFFFh (tutti i bit a 1). 2) Fare l'or esclusivo del primo carattere con il registro e porre il risultato nel registro. 3) Spostare il registro a destra di un bit. 4) Se il bit uscito a destra dal registro (flag) è un 1, fare l'or esclusivo del polinomio generatore 1010000000000001 con il registro. 5) Ripetere per 8 volte i passi 3 e 4. 6) Fare l'or esclusivo del carattere successivo con il registro e porre il risultato nel registro. 7) Ripetere i passi da 3 a 6 per tutti i caratteri del messaggio. 8) Il contenuto del registro a 16 bit è il codice di ridondanza CRC che deve essere aggiunto al messaggio. 7

2.8.1 Esempio di calcolo del CRC16 in Visual Basic Function CRC16(Stringa As String) As String Dim N As Integer, i As Integer, NByte As Integer Dim CRC As Long, a As Byte Dim Buffer As String NByte = Len(Stringa) CRC = 65535 For i = 1 To NByte a = Asc(Mid$(Stringa, i, 1)) 'C(I) CRC = (CRC Xor a) And &HFFFF Next For N = 0 To 7 If CRC And 1 Then CRC = (CRC \ 2) CRC = (CRC Xor 40961) Else CRC = CRC \ 2 End If Next Buffer = Right$("0000" + Hex$(CRC And &HFFFF), 4) CRC16 = Chr$("&H" + Right$(Buffer, 2)) + Chr$("&H" + Left$(Buffer, 2)) End Function 2.9 Sincronizzazione dei messaggi La sincronizzazione del messaggio tra trasmettitore e ricevitore viene ottenuta interponendo una pausa tra i messaggi pari ad almeno 3.5 volte il tempo di un carattere. Se il dispositivo ricevente non riceve per un tempo di 3 caratteri, ritiene completato il messaggio precedente e considera che il successivo byte ricevuto sarà il primo di un nuovo messaggio e quindi un indirizzo. 8

CAP. 3. - LE FUNZIONI MODBUS 3. LE FUNZIONI MODBUS Viene riportata di seguito la descrizione dettagliata delle funzioni ModBus implementate sugli strumenti ASCON della serie AC 3.1 Read Coils Status ( 01 ) Questa funzione permette di richiedere lo stato ON o OFF di variabili logiche binarie. Il modo broadcast non è permesso. Domanda Oltre all'indirizzo dello slave e al codice funzione (01) il messaggio contiene l'indirizzo di partenza (starting Address) espresso su due bytes e il numero di bit da leggere anch'esso su due bytes. La numerazione degli indirizzi parte da zero (bit1 = 0) per il ModBus, da uno (bit1 = 1) per il JBUS. Esempio: Richiesta di lettura dallo slave 17 del bit dal 0004 al 0015. DATA DATA DATA DATA CRC CRC ADDR FUNC start start bit # bit # Addr HI Addr LO HI LO HI LO 11 01 00 03 00 0C CE 9F Risposta Oltre all'indirizzo dello slave e al codice funzione (01) il messaggio comprende un carattere che contiene il numero di bytes di dati e i caratteri contenenti i dati. I dati sono impaccati, così che un byte contiene lo stato di 8 bit, il bit meno significativo del primo byte contiene il bit corrispondente allo starting Address e così via. Se il numero di bit da leggere non è multiplo di 8, l'ultimo carattere è completato con zeri nei bit più significativi. Esempio: Risposta alla richiesta sopra riportata. DATA DATA DATA CRC CRC ADDR FUNC Byte Count bit bit 04..11 12..15 HI LO 11 01 02 CD 0B 6D 68 3.2 Read Input Status ( 02 ) Questa funzione è operativamente identica alla precedente. 3.3 Read Holding Registers ( 03 ) Questa funzione permette di richiedere il valore di registri a 16 bit (word) contenenti variabili numeriche. Il modo broadcast non è permesso. Domanda Oltre all'indirizzo dello slave e al codice funzione (03) il messaggio contiene l'indirizzo di partenza (starting Address) espresso su due bytes e il numero di word da leggere anch'esso su due bytes. Il numero massimo di word che possono essere lette è 125. La numerazione degli indirizzi parte da zero (word1 = 0) per il ModBus, da uno (word1 = 1) per il JBUS. Esempio: Richiesta di lettura dallo slave 25 dei registri da 069 a 0071. DATA DATA DATA DATA CRC CRC ADDR FUNC start start word # word # Addr HI Addr LO HI LO HI LO 19 03 00 44 00 03 46 06 9

Risposta Oltre all'indirizzo dello slave e al codice funzione (03) il messaggio comprende un carattere che contiene il numero di bytes di dati e i caratteri contenenti i dati. I registri richiedono due bytes ciascuno, il primo dei quali contiene la parte più significativa. Esempio: Risposta alla richiesta sopra riportata. DATA DATA DATA DATA DATA DATA DATA CRC CRC ADDR FUNC Byte word word word word word word Count 69 HI 69 LO 70 HI 70 LO 71 HI 71 LO HI LO 19 03 06 02 2B 00 00 00 64 AF 7A 3.4 Read Input Registers ( 04 ) Questa funzione è operativamente identica alla precedente. 3.5 Force Single Coil ( 05 ) Questa funzione permette di forzare lo stato di una singola variabile binaria ON o OFF. Il modo broadcast è permesso. Domanda Oltre all'indirizzo dello slave e al codice funzione (05) il messaggio contiene l'indirizzo della variabile da forzare su due bytes e due caratteri di cui il primo è posto a FFh (255) per forzare lo stato ON e 00h per forzare OFF, il secondo è posto a zero in ogni caso. La numerazione degli indirizzi parte da zero (bit1 = 0) per il ModBus, da uno (bit1 = 1) per il JBus. Esempio: Richiesta di forzare ON sullo slave 47 il bit 4. DATA DATA DATA DATA CRC CRC ADDR FUNC start start ON/OFF (zero) Addr HI Addr LO HI LO 2F 05 00 03 FF 00 7A 74 Risposta La risposta consiste nel ritrasmettere il messaggio ricevuto dopo che la variabile è stata modificata. Esempio: Risposta alla richiesta sopra riportata. DATA DATA DATA DATA CRC CRC ADDR FUNC bit # bit # ON/OFF (zero) HI LO HI LO 2F 05 00 03 FF 00 7A 74 3.6 Preset Single Register ( 06 ) Questa funzione permette di impostare il valore di un singolo registro a 16 bit. Il modo broadcast è permesso. Domanda Oltre all'indirizzo dello slave e al codice funzione (06) il messaggio contiene l'indirizzo della variabile espresso su due bytes e il valore che deve essere assegnato. La numerazione degli indirizzi parte da zero (word1 = 0) per il ModBus, da uno (word1 = 1) per il JBUS. Esempio: Richiesta di forzare 926 sullo slave 38 all'indirizzo 26. Register Register DATA DATA CRC CRC ADDR FUNC Byte # Byte # WORD WORD HI LO HI LO HI LO 26 06 00 19 03 9E DF 82 10

CAP. 3. - LE FUNZIONI MODBUS Risposta La risposta consiste nel ritrasmettere il messaggio ricevuto dopo che la variabile è stata modificata. Esempio: Risposta alla richiesta sopra riportata. Register Register DATA DATA CRC CRC ADDR FUNC Byte # Byte # Byte Byte HI LO HI LO HI LO 26 06 00 19 03 9E DF 82 3.7 Force Multiple Coils ( 15 ) Questa funzione permette di forzare lo stato di ciascuna variabile binaria in un blocco consecutivo. Il modo broadcast è permesso. Domanda Oltre all'indirizzo dello slave e al codice funzione (15) il messaggio contiene l'indirizzo di partenza (starting Address) espresso su due bytes, il numero di bit da scrivere, il numero di byte che contengono i dati e i caratteri di dati. I dati sono impaccati, così che un byte contiene lo stato di 8 bit, il bit meno significativo del primo byte deve contenere il bit corrispondente allo starting Address e così via. Se il numero di bit da scrivere non è multiplo di 8, l'ultimo carattere va completato con zeri nei bit più significativi. La numerazione degli indirizzi parte da zero (bit1 = 0) per il ModBus, da uno (bit1 = 1) per il JBus. Esempio: Richiesta di forzare, sullo slave 12, 4 bit a partire dall'indirizzo 1. I bit 1 e 4 forzati a "1", gli altri a "0". DATA DATA DATA DATA DATA MASK CRC CRC ADDR FUNC start start bit # bit # Byte bit Addr HI Addr LO HI LO Count 1..4 HI LO 0C 0F 00 00 00 04 01 09 3F 09 Risposta Oltre all'indirizzo dello slave e al codice funzione (15) il messaggio comprende l'indirizzo di partenza (starting Address) e il numero di bit scritti. Esempio: Risposta alla richiesta sopra riportata. DATA DATA DATA DATA CRC CRC ADDR FUNC start start bit # bit # Addr HI Addr LO HI LO HI LO 0C 0F 00 00 00 04 55 15 3.8 Preset Multiple Registers (16) Questa funzione permette di impostare il valore di un blocco consecutivo di registri a 16 bit. Il modo broadcast è permesso. Domanda Oltre all'indirizzo dello slave e al codice funzione (15) il messaggio contiene l'indirizzo di partenza (starting Address), il numero di word da scrivere, il numero di byte che contengono i dati e i caratteri di dati. La numerazione degli indirizzi parte da zero (word1 = 0) per il ModBus, da uno (word1 = 1) per il JBUS. Esempio: Richiesta di impostare, sullo slave 17, 1 word all'indirizzo 35, con valore 268. DATA DATA DATA DATA DATA DATA DATA CRC CRC ADDR FUNC start start word # word # Byte word word Addr HI Addr LO HI LO Count 35 HI 35 LO HI LO 11 10 00 22 00 01 02 01 0C 6C 87 11

Risposta Oltre all'indirizzo dello slave e al codice funzione (16) il messaggio comprende l'indirizzo di partenza (starting Address) e il numero di word scritte. Esempio: Risposta alla richiesta sopra riportata. DATA DATA DATA DATA CRC CRC ADDR FUNC start start word # word # Addr HI Addr LO HI LO HI LO 11 10 00 22 00 01 A3 53 12

CAP. 4 - LA GESTIONE DEGLI ERRORI 4. LA GESTIONE DEGLI ERRORI Nel ModBus esistono due tipi di errori, gestiti in modo diverso: errori di trasmissione ed errori operativi. Gli errori di trasmissione sono errori che alterano il messaggio, nel suo formato, nella parità (se è usata), o nel CRC16. Il dispositivo che rilevi errori di questo tipo nel messaggio lo considera non valido e non dà risposta. Qualora invece il messaggio sia corretto nella sua forma ma la funzione richiesta, per qualsiasi motivo, non sia eseguibile, si ha un errore operativo. A questo errore il dispositivo slave risponde con un messaggio di eccezione. Questo messaggio è composto dall'indirizzo, dal codice della funzione richiesta, da un codice d'errore e dal CRC. Per indicare che la risposta è la notifica di un errore il codice funzione viene ritornato con il bit più significativo a "1". Esempio: Richiesta di lettura dallo slave 10 del bit 1185. DATA DATA DATA DATA CRC CRC ADDR FUNC start start bit # bit # Addr HI Addr LO HI LO HI LO 0A 01 04 A1 00 01 AC 63 Risposta La richiesta chiede il contenuto del bit 1185, che non esiste nello slave. Questi risponde con il codice d'errore "02" (ILLEGAL DATA ADDRESS) e ritorna il codice funzione 81h (129). Esempio: Eccezione alla richiesta sopra riportata. DATA CRC CRC ADDR FUNC Except. Code HI LO 0A 81 02 B0 53 4.1 Codici d'eccezione Sebbene il ModBus standard preveda 8 diversi codici d'eccezione l'implementazione ASCON del protocollo ne prevede solo quattro: Codice Eccezione Significato 01 ILLEGAL FUNCTION Il codice di funzione ricevuto non corrisponde ad una funzione permessa sullo slave indirizzato. 02 ILLEGAL DATA ADDRESS L'indirizzo cui fa riferimento il campo dati non è un indirizzo permesso sullo slave indirizzato. 03 ILLEGAL DATA VALUE Il valore da assegnare cui fa riferimento il campo dati non è permesso per questo indirizzo. 07 NAK - NEGATIVE ACKNOWLEDGEMENT La funzione non può essere eseguita nelle attuali condizioni operative o si è tentato di scrivere in un indirizzo a sola lettura. 13

5. SISTEMA DI SUPERVISIONE La linea seriale verso il sistema di supervisione opera con protocollo JBus, le funzioni implementate sono le seguenti: # Funzione Descrizione 01 Read Output Status (1) Legge lo stato di una o più variabili logiche di uscita (bit) 02 Read Input Status (1) Legge lo stato di una o più variabili logiche di ingresso (bit) 03 Read Output Registers (2) Legge il valore di una o più variabili numeriche di uscita (word) 04 Read Input Registers (2) Legge il valore di una o più variabili numeriche di ingresso (word) 05 Force Single Coil Forza lo stato di una variabile logica (bit) 06 Preset Single Register Scrive il valore di una variabile numerica (word) 15 Force Multiple Coil Forza lo stato di più variabili logiche (bit) 16 Preset Multiple Register Scrive il valore di più variabili numeriche (word) 5.1 La base dati Note 1) Le funzioni 01 e 02 sono gestite dallo strumento allo stesso modo, per cui possono essere usate indifferentemente per la lettura di bit(s). 2) Le funzioni 03 e 04 sono gestite dallo strumento allo stesso modo, per cui possono essere usate indifferentemente per la lettura di word(s). La base dati dello strumento è costituita da due aree: L'area delle variabili logiche, che contiene le variabili che rappresentano stati binari (bits) e cui è possibile accedere attraverso le funzioni ModBus-JBus 01, 02, 05 e 15 L'area delle variabili numeriche, che contiene le variabili che rappresentano valori numerici in formato intero e in virgola mobile. A quest'area è possibile accedere attraverso le funzioni 03, 04, 06 e 16. Dato che tali funzioni leggono e scrivono i dati sotto forma di word (16 bit) e che un valore numerico in virgola mobile richiede 32 bit, lo scambio di ciascuna variabile di questo tipo richiede 2 word. Di conseguenza il tentativo di scrivere in un indirizzo contenente una variabile in virgola mobile con la funzione 06 darà errore 02 (illegal data address) così come la funzione 16 può scrivere in un'area di variabili in virgola mobile solo a condizione di scrivere interamente le variabili cui accede, non può cioè scrivere una serie di word a partire dall'indirizzo contenente la seconda parte di una variabile e il numero di word scritte deve essere tale da non terminare con la prima parte di una variabile. L'area numerica è inoltre suddivisa in due sezioni, la sezione di supervisione che comprende le variabili essenziali del processo e la sezione parametri che contiene i parametri principali. 14

5.2 La composizione dei floating point utilizzati CAP. 5. - SISTEMA DI SUPERVISIONE Il floating point utilizzato dallo strumento è del tipo Single. Un numero single di 4 byte (32 bit), viene diviso in 3 campi: Lunghezza in bit 1 8 23 S e f msb lsb msb lsb Il valore v del numero viene determinato da: if 0 < e < 255, then v = (-1) s * 2 (e-127) * (1.f) if e = 0 and f <> 0, then v = (-1) s * 2 (-126) * (0.f) if e = 0 and f = 0, then v = (-1) s * 0 if e = 255 and f = 0, then v = (-1) s * Inf. if e = 255 and f <> 0, then v è un NaN. 5.3 La funzione di swap dei floating point Sulle stazioni AC, dalla release 00I per l AC10 e AC20 e la release 00D per l AC30 è stata aggiunta la possibilità di swappare (invertire) l ordine dei bytes delle word costituenti il floating point utilizzati dal protocollo ModBus. Nel menù della stazione AC Main Comm è stata aggiunta la selezione Sw. Float con la possibilità di selezionare Si o No. Sw. Float = No Questa è la modalità standard usata dalla stazione AC e significa che non verrà effettuata nessuna operazione di riordino dei bytes ricevuti o trasmessi quindi l ordine dei bytes utilizzato è il seguente: Floating point Word High Word Low Byte 0 Byte 1 Byte 2 Byte 3 Sw. Float = Yes Questa è la modalità swap usata dalla stazione AC e significa che i bytes ricevuti o trasmessi verranno riordinati o interpretati secondo il seguente ordine: Floating point Word High Word Low Byte 2 Byte 3 Byte 0 Byte 1 15

5.4 Variabili logiche ( Coils ) Indirizzo JBus Modulo Variabile Prograh 1 DI #1 Ingresso logico #1 NO 2 DI #2 Ingresso logico #2 NO 3 DI #3 Ingresso logico #3 NO 4 DI #4 Ingresso logico #4 NO 5 DI #5 Ingresso logico #5 NO 6 DI #6 Ingresso logico #6 NO 7 DI #7 Ingresso logico #7 NO 8 DI #8 Ingresso logico #8 NO 9 DI #9 Ingresso logico #9 unità aux. NO 10 DI #10 Ingresso logico #10 unità aux. NO 11 DI #11 Ingresso logico #11 unità aux. NO 12 DI #12 Ingresso logico #12 unità aux. NO 13 DI #13 Ingresso logico #13 unità aux. NO 14 DI #14 Ingresso logico #14 unità aux. NO 15 DI #15 Ingresso logico #15 unità aux. NO 16 DI #16 Ingresso logico #16 unità aux. NO 17 DI #17 Ingresso logico #17 unità aux. NO 18 DI #18 Ingresso logico #18 unità aux. NO 19 DI #19 Ingresso logico #19 unità aux. NO 20 DI #20 Ingresso logico #20 unità aux. NO 21 DI #21 Ingresso logico #21 unità aux. NO 22 DI #22 Ingresso logico #22 unità aux. NO 23 DI #23 Ingresso logico #23 unità aux. NO 24 DI #24 Ingresso logico #23 unità aux. NO 25 DI #25 Ingresso logico #25 unità aux. NO 26 DI #26 Ingresso logico #26 unità aux. NO 27 DI #27 Ingresso logico #27 unità aux. NO 28 DI #28 Ingresso logico #28 unità aux. NO 29 DI #29 Ingresso logico #29 unità aux. NO 30 DI #30 Ingresso logico #30 unità aux. NO 31 DI #31 Ingresso logico #31 unità aux. NO 32 DI #32 Ingresso logico #32 unità aux. NO 33 DO #1 Uscita logica #1 NO 34 DO #2 Uscita logica #2 NO 35 DO #3 Uscita logica #3 NO 36 DO #4 Uscita logica #4 NO 37 DO #5 Uscita logica #5 NO 38 DO #6 Uscita logica #6 NO 39 DO #7 Uscita logica #7 NO 40 DO #8 Uscita logica #8 NO 41 DO #9 Uscita logica #9 unità aux. NO 42 DO #10 Uscita logica #10 unità aux. NO 43 DO #11 Uscita logica #11 unità aux. NO 44 DO #12 Uscita logica #12 unità aux. NO 45 DO #13 Uscita logica #13 unità aux. NO 46 DO #14 Uscita logica #14 unità aux. NO 47 DO #15 Uscita logica #15 unità aux. NO 48 DO #16 Uscita logica #16 unità aux. NO 49 DO #17 Uscita logica #17 unità aux. NO 50 DO #18 Uscita logica #18 unità aux. NO 51 DO #19 Uscita logica #19 unità aux. NO 52 DO #20 Uscita logica #20 unità aux. NO 53 DO #21 Uscita logica #21 unità aux. NO 54 DO #22 Uscita logica #22 unità aux. NO 55 DO #23 Uscita logica #23 unità aux. NO 56 DO #24 Uscita logica #24 unità aux. NO 57 DO #25 Uscita logica #25 unità aux. NO 58 DO #26 Uscita logica #26 unità aux. NO 59 DO #27 Uscita logica #27 unità aux. NO 60 DO #28 Uscita logica #28 unità aux. NO 61 DO #29 Uscita logica #29 unità aux. NO 62 DO #30 Uscita logica #30 unità aux. NO 63 DO #31 Uscita logica #31 unità aux. NO 64 DO #32 Uscita logica #32 unità aux. NO 65 MV #1 HCMV #1 DA/M - Modo Auto/Man da tastiera #1 ( 1 ) Abilit. Scritt. SI 16

CAP. 5. - SISTEMA DI SUPERVISIONE Indirizzo JBus Modulo Prograh Variabile Abilit. Scritt. 66 MV #2 DA/M - Modo Auto/Man da tastiera #2 ( 1 ) SI 67 MV #3 DA/M - Modo Auto/Man da tastiera #3 ( 1 ) Si HCMV #2 68 MV #4 DA/M - Modo Auto/Man da tastiera #4 ( 1 ) Si 69 MV #1 DCAM - Modo Auto/Man da computer #1 ( 2 ) SI 70 MV #2 DCAM - Modo Auto/Man da computer #2 ( 2 ) SI 71 MV #3 DCAM - Modo Auto/Man da computer #3 ( 2 ) SI 72 MV #4 DCAM - Modo Auto/Man da computer #4 ( 2 ) SI 73 MV #1 Stato di uscita Hold (0 = Normale, 1 = Hold) NO HCMV #1 74 MV #2 Stato di uscita Hold (0 = Normale, 1 = Hold) NO 75 MV #3 Stato di uscita Hold (0 = Normale, 1 = Hold) NO HCMV #2 76 MV #4 Stato di uscita Hold (0 = Normale, 1 = Hold) NO 77..84 CDIO #1 DIO1 DIO8 I/O digtali da computer SI 85..92 CDIO #2 DIO1 DIO8 I/O digtali da computer SI 93..100 CDIO #3 DIO1 DIO8 I/O digtali da computer SI 101..108 CDIO #4 DIO1 DIO8 I/O digtali da computer SI 109 PRG #1 Run programma. NO 110 PRG #1 Hold programma. NO 111 PRG #2 Run programma. NO 112 PRG #2 Hold programma. NO 113 PRG #3 Run programma. NO 114 PRG #3 Hold programma. NO 115 PRG #4 Run programma. NO 116 PRG #4 Hold programma. NO Note 1) I coils 65.. 68 agiscono sul piedino di ingresso DA/M del modulo di funzione MV ottenendo come risultato una duplicazione della funzione del tasto A/M sul frontale del regolatore (0 = Auto, 1 = Man). 2) I coils 69.. 72 agiscono sulla base dati DCAM del modulo di funzione MV. In questo caso il regolatore si troverà ad operare nello stato di Manuale senza che questo sia visualizzato sui vari display dello strumento. I coils 69.. 72 hanno una priorità inferiore dei coils 65.. 68 (0 = Auto, 1 = Man). 17

5.5 Variabili numeriche ( Register ) Sezione supervisione Ind. JBus Tipo Modulo Prograph Variabile 1 FP AI #1 Ingresso #1 in unità ingegneristiche NO 3 FP AI #2 Ingresso #2 in unità ingegneristiche NO 5 FP AI #3 Ingresso #3 in unità ingegneristiche NO 7 FP AI #4 Ingresso #4 in unità ingegneristiche NO 9 FP AI #5 Ingresso #5 in unità ingegneristiche NO 11 FP AI #6 Ingresso #6 in unità ingegneristiche NO 13 FP AI #7 Ingresso #7 in unità ingegneristiche NO 15 FP AI #8 Ingresso #8 in unità ingegneristiche NO 17 FP AI #1 Ingresso Impulsivo in unità ingegneristiche NO 19 FP AO #1 Uscita analogica #1 in % NO 21 FP AO #2 Uscita analogica #2 in % NO 23 FP AO #3 Uscita analogica #3 in % NO 25 FP AO #4 Uscita analogica #4 in % NO 27 FP AO #5 Uscita analogica #1 unità aux. AAC-EU/88/4 NO 29 FP AO #6 Uscita analogica #2 unità aux. AAC-EU/88/4 NO 31 FP AO #7 Uscita analogica #3 unità aux. AAC-EU/88/4 NO 33 FP AO #8 Uscita analogica #4 unità aux. AAC-EU/88/4 NO 35 FP SDV #1 Set point da computer #1 SI 37 FP SDV #2 Set point da computer #2 SI 39 FP SDV #3 Set point da computer #3 SI 41 FP SDV #4 Set point da computer #4 SI 43 W SDV #1 Stato operativo impostato da tastiera #1 (8) NO 44 W SDV #2 Stato operativo impostato da tastiera #2 (8) NO 45 W SDV #3 Stato operativo impostato da tastiera #3 (8) NO 46 W SDV #4 Stato operativo impostato da tastiera #4 (8) NO 47 FP SDV #1 Set point operante #1 NO 49 FP SDV #1 Set point di target #1 NO 51 FP SDV #1 Set point locale #1 SI 53 FP SDV #1 Set point di rapporto #1 NO 55 FP SDV #2 Set point operante #2 NO 57 FP SDV #2 Set point di target #2 NO 59 FP SDV #2 Set point locale #2 SI 61 FP SDV #2 Set point di rapporto #2 NO 63 FP SDV #3 Set point operante #3 NO 65 FP SDV #3 Set point di target #3 NO 67 FP SDV #3 Set point locale #3 SI 69 FP SDV #3 Set point di rapporto #3 NO 71 FP SDV #4 Set point operante #4 NO 73 FP SDV #4 Set point di target #4 NO 75 FP SDV #4 Set point locale #4 SI 77 FP SDV #4 Set point di rapporto #4 NO 79 W SDV #1 Modifica stato operativo da computer #1 (9) SI 80 W SDV #2 Modifica stato da operativo computer #2 (9) SI 81 W SDV #3 Modifica stato da operativo computer #3 (9) SI 82 W SDV #4 Modifica stato da operativo computer #4 (9) SI 83... 149 150... 200 Abilit. Scritt. - - Area disponibile per variabili aggiuntive - - - Area occupata da variabili di sistema vedi pag. 24-18

CAP. 5. - SISTEMA DI SUPERVISIONE Sezione parametri Ind. JBus Tipo Modulo Prograph Variabile Abilit. Scritt. 201 FP AI #1 TFIL - Costante di tempo del filtro SI 203 FP AI #2 TFIL - Costante di tempo del filtro SI 205 FP AI #3 TFIL - Costante di tempo del filtro SI 207 FP AI #4 TFIL - Costante di tempo del filtro SI 209 FP AI #5 TFIL - Costante di tempo del filtro SI 211 FP AI #6 TFIL - Costante di tempo del filtro SI 213 FP AI #7 TFIL - Costante di tempo del filtro SI 215 FP AI #8 TFIL - Costante di tempo del filtro SI 217...232 W DI #1 DI #16 Tempo di ritardo ingressi digitali DIN1.. SI DIN16 233...248 W DO#1 DO#16 Tempo di ritardo uscite digitali DOUT1.. SI DOUT16 249 FP SDV #1 SLU - Pendenza del Set point in salita SI 251 FP SDV #1 SLD - Pendenza del Set point in discesa SI 253 FP SDV #1 BETA - Coefficente di pesatura Set point SI locale 255 FP SDV #2 SLU - Pendenza del Set point in salita SI 257 FP SDV #2 SLD - Pendenza del Set point in discesa SI 259 FP SDV #2 BETA - Coefficente di pesatura Set point SI locale 261 FP SDV #3 SLU - Pendenza del Set point in salita SI 263 FP SDV #3 SLD - Pendenza del Set point in discesa SI 265 FP SDV #3 BETA - Coefficente di pesatura Set point SI locale 267 FP SDV #4 SLU - Pendenza del Set point in salita SI 269 FP SDV #4 SLD - Pendenza del Set point in discesa SI 271 FP SDV #4 BETA - Coefficente di pesatura Set point SI locale 273 FP PID #1 PBND - Banda proporzionale SI 275 W PID #1 INT - Tempo integrale SI 276 FP PID #1 DERT - Tempo derivativo SI 278 W PID #1 CPID - Abilitazione coefficenti SI regolazione 279 FP PID #2 PBND - Banda proporzionale SI 281 W PID #2 INT - Tempo integrale SI 282 FP PID #2 DERT - Tempo derivativo SI 284 W PID #2 CPID - Abilitazione coefficenti SI regolazione 285 FP PID #3 PBND - Banda proporzionale SI 287 W PID #3 INT - Tempo integrale SI 288 FP PID #3 DERT - Tempo derivativo SI 290 W PID #3 CPID - Abilitazione coefficenti SI regolazione 291 FP PID #4 PBND - Banda proporzionale SI 293 W PID #4 INT - Tempo integrale SI 294 FP PID #4 DERT - Tempo derivativo SI 296 W PID #4 CPID - Abilitazione coefficenti SI regolazione 297 FP MV #1 CTRK - Segnale di tracking da computer SI HCMV #1 299 FP MV #1 YMIN - Minima uscita SI HCMV #1 301 FP MV #1 YMAX - Massima uscita SI HCMV #1 303 FP MV #2 CTRK - Segnale di tracking da computer SI 305 FP MV #2 YMIN - Minima uscita SI 307 FP MV #2 YMAX - Massima uscita SI 309 FP MV #3 CTRK - Segnale di tracking da computer SI HCMV #2 311 FP MV #3 YMIN - Minima uscita SI HCMV #2 313 FP MV #3 HCMV #2 YMAX - Massima uscita SI 19

Tipo Modulo Prograph Variabile 315 FP MV #4 CTRK - Segnale di tracking da computer SI 317 FP MV #4 YMIN - Minima uscita SI 319 FP MV #4 YMAX - Massima uscita SI 321 FP LMT #1 Low - Valore del limite inferiore SI 323 FP LMT #1 High - Valore del limite superiore SI 325 FP LMT #2 Low - Valore del limite inferiore SI 327 FP LMT #2 High - Valore del limite superiore SI 329 FP LMT #3 Low - Valore del limite inferiore SI 331 FP LMT #3 High - Valore del limite superiore SI 333 FP LMT #4 Low - Valore del limite inferiore SI 335 FP LMT #4 High - Valore del limite superiore SI 337 FP ALM #1 VMIN - Soglia inferiore allarme SI 339 FP ALM #1 VMAX - Soglia superiore allarme SI 341 FP ALM #1 HYS - Isteresi allarme SI 343 W ALM #1 SLC - Selezione ingresso SI 344 FP ALM #2 VMIN - Soglia inferiore allarme SI 346 FP ALM #2 VMAX - Soglia superiore allarme SI 348 FP ALM #2 HYS - Isteresi allarme SI 350 W ALM #2 SLC - Selezione ingresso SI 351 FP ALM #3 VMIN - Soglia inferiore allarme SI 353 FP ALM #3 VMAX - Soglia superiore allarme SI 355 FP ALM #3 HYS - Isteresi allarme SI 357 W ALM #3 SLC - Selezione ingresso SI 358 FP ALM #4 VMIN - Soglia inferiore allarme SI 360 FP ALM #4 VMAX - Soglia superiore allarme SI 362 FP ALM #4 HYS - Isteresi allarme SI 364 W ALM #4 SLC - Selezione ingresso SI 365 FP ALM #5 VMIN - Soglia inferiore allarme SI 367 FP ALM #5 VMAX - Soglia superiore allarme SI 369 FP ALM #5 HYS - Isteresi allarme SI 371 W ALM #5 SLC - Selezione ingresso SI 372 FP ALM #6 VMIN - Soglia inferiore allarme SI 374 FP ALM #6 VMAX - Soglia superiore allarme SI 376 FP ALM #6 HYS - Isteresi allarme SI 378 W ALM #6 SLC - Selezione ingresso SI 379 FP ALM #7 VMIN - Soglia inferiore allarme SI 381 FP ALM #7 VMAX - Soglia superiore allarme SI 383 FP ALM #7 HYS - Isteresi allarme SI 385 W ALM #7 SLC - Selezione ingresso SI 386 FP ALM #8 VMIN - Soglia inferiore allarme SI 388 FP ALM #8 VMAX - Soglia superiore allarme SI 390 FP ALM #8 HYS - Isteresi allarme SI 392 W ALM #8 SLC - Selezione ingresso SI 393 FP HCMV #1 DBND - Banda morta caldo - freddo SI 395 FP HCMV #2 DBND - Banda morta caldo - freddo SI 397 FP AOUT #1: TFIL - Costante di tempo del filtro SI 399 FP AOUT #2: TFIL - Costante di tempo del filtro SI 401 FP AOUT #3 TFIL - Costante di tempo del filtro SI 403 FP AOUT #4 TFIL - Costante di tempo del filtro SI 405 FP AOUT #5 TFIL - Costante di tempo del filtro SI 407 FP AOUT #6 TFIL - Costante di tempo del filtro SI 409 FP AOUT #7 TFIL - Costante di tempo del filtro SI 411 FP AOUT #8 TFIL - Costante di tempo del filtro SI 413 FP FI TFIL - Costante di tempo del filtro SI Indirizzo JBus Abilit. Scritt. 20

CAP. 5. - SISTEMA DI SUPERVISIONE Indirizzo JBus Tipo Modulo Prograph Variabile Abilit. Scritt. 415..429 FP CAIO #1 I/O 1..8 Valori analogici da computer SI 431..445 FP CAIO #2 I/O 1..8 Valori analogici da computer SI 447..461 FP CAIO #3 I/O 1..8 Valori analogici da computer SI 463..477 FP CAIO #4 I/O 1..8 Valori analogici da computer SI 479 W SELP #1 ITEM - scelta item del computer (1) SI 480 W SELP #2 ITEM - scelta item del computer (1) SI 481 FP MV #1 Y% - Variabile regolata SI 483 FP MV #2 Y% - Variabile regolata SI 485 FP MV #3 Y% - Variabile regolata SI 487 FP MV #4 Y% - Variabile regolata SI 489 FP PRG #1 NPGM - N programma selezionato. SI 491 FP PRG #1 NSGM - N segmento in esecuzione. SI 493 FP PRG #1 SRT - Tempo residuo segmento in SI esecuzione. 495 FP PRG #1 TCYC - N totale di cicli del programma SI selezionato. 497 FP PRG #1 ACYC - N del ciclo corrente del prog. SI Selezionato. 499 FP PRG #2 NPGM - N programma selezionato. SI 501 FP PRG #2 NSGM - N segmento in esecuzione del SI blocco PRG_#2 503 FP PRG #2 SRT - Tempo residuo segmento in SI esecuzione. 505 FP PRG #2 TCYC - N totale di cicli del programma SI selezionato. 507 FP PRG #2 ACYC - N del ciclo corrente del prog. SI Selezionato. 509 FP PRG #3 NPGM - N programma selezionato. SI 511 FP PRG #3 NSGM - N segmento in esecuzione. SI 513 FP PRG #3 SRT - Tempo residuo segmento in SI esecuzione. 515 FP PRG #3 TCYC - N totale di cicli del programma SI selezionato. 517 FP PRG #3 ACYC - N del ciclo corrente del prog. SI Selezionato. 519 FP PRG #4 NPGM - N programma selezionato. SI 521 FP PRG #4 NSGM - N segmento in esecuzione. SI 523 FP PRG #4 SRT - Tempo residuo segmento in SI esecuzione. 525 FP PRG #4 TCYC - N totale di cicli del programma SI selezionato. 527 FP PRG #4 ACYC - N del ciclo corrente del prog. SI Selezionato. 529..536 W RTC DOUT #1 #8 Domenica (2) SI 537..544 W RTC DOUT #1 #8 Lunedi (2) SI 545..552 W RTC DOUT #1 #8 Martedi (2) SI 553..560 W RTC DOUT #1 #8 Mercoledi (2) SI 561..568 W RTC DOUT #1 #8 Giovedi (2) SI 569..576 W RTC DOUT #1 #8 Venerdi (2) SI 577..584 W RTC DOUT #1 #8 Sabato (2) SI 585..600 W DI #17 #32 Tempo di ritardo ingressi digitali. SI 601..616 W DO #17 #32 Tempo di ritardo uscite digitali. SI 617 W 16SW#1 Comandi da computer SI 618 W 16SW#2 Comandi da computer SI 619 W 16SW#3 Comandi da computer SI 620 W 16SW#4 Comandi da computer SI 621..650 - FREE - - Gli indirizzi di Jbus delle soglie d allarme superiori a 8 e dei limiti analogici superiori a 4, si trovano nel file nome_progetto.mba che viene generato dal programma AC-Prograph / AC-Edit al momento della spedizione della strategia alla stazione AC. Questi indirizzi, a differenza di quelli illustrati in tabella, sono dinamici e possono cambiare di valore ad ogni spedizione della strategia alla stazione AC. Per essere certi del loro valore, si deve completare in ogni minimo dettaglio la strategia con AC-Prograph / AC-Edit e quindi, spedirla alla stazione AC. A questo punto il file ausiliario nome_progetto.mba conterrà tutte le informazioni e indirizzi dinamici della strategia corrente, non pubblicati sul presente manuale. Per maggiori dettagli a riguardo, si veda il Cap. 6 21

Indirizzo JBus Tipo Modulo Prograph Variabile Abilit. Scritt. 651 - RISERVATO - - 652..669 - FREE - - 670 W - Comando (3) SI 671 W PRG#1 PRG#4 Prg.N - Programma in editazione (4) SI 672 W PRG#1 PRG#4 Node N - Segmento in editazione (4) SI 673 W PRG#1 PRG#4 Time Type - Unita di tempo (0=h:m, SI 1=m:s) 674 W PRG#1 PRG#4 Fast - Fattore di accelerazione (1..360) SI 675 W PRG#1 PRG#4 Cicli - Ripetizioni programma (0..999) SI 676 W PRG#1 PRG#4 Restart - Restart dopo Power Fail (0..5) SI 677 FP PRG#1 PRG#4 Dev1 - Condizione di PowerFail (7) SI 679 FP PRG#1 PRG#4 Dev2 - Condizione di PowerFail (7) SI 681 W PRG#1 PRG#4 Tim1 - Condizione di PowerFail SI 682 W PRG#1 PRG#4 Tim2 - Condizione di PowerFail SI 683 FP PRG#1 PRG#4 Range Lo - Inizio scala PV Programma SI 685 FP PRG#1 PRG#4 Range Hi - Fondo scala PV Programma SI 687 FP PRG#1 PRG#4 Final SetPoint - SP di arrivo del seg. SI 689 FP PRG#1 PRG#4 Aux SP - SP ausiliario SI 691 W PRG#1 PRG#4 Exec. Time - Durata del segmento (5) SI 692 FP PRG#1 PRG#4 Allowed Dev. - Massima Dev. ammessa SI 694 W PRG#1 PRG#4 DO1 DO16 - Uscite logiche del seg. SI 695 W PRG#1 PRG#4 End Prg. - Ultimo segmento (1=TRUE; SI 0=FALSE ) 696 W PRG#1 PRG#4 D.P. - Formato scala SI 697 W RTC Anno orologio (6) SI 698 W RTC Mese (6) SI 699 W RTC Giorno (6) SI 700 W RTC Giorno della settimana (6) SI 701 W RTC Ora (6) SI 702 W RTC Minuto (6) SI Note 1) Il computer sceglie l item nel modo seguente: Item richiesto ( MSB ) Richiesta ( LSB ) Item number 0..15 0 se si rilascia, <> 0 se si richiede 2) Il bit 15 del valore ritornato, indica l abilitazione della generazione dell impulso all ora impostata. I bit da 14 a 0 contengono il valore nel formato (minuti + ( Ore x 60)) 3) Comando: Questo indirizzo non é un dato del DataBase del regolatore bensì un comando: Funzione Valore del codice Delete All Programs -2 Delete Current Segment -1 Read Data 0 Write Data 1 Insert Segment after 2 Delete Current Program 3 Add a New Program ( = ) 4 AddNewSegment ( = ) 5 ( = ) da usarsi solo per la costruzione di un nuovo programma. Tra il Sw del regolatore e la comunicazione seriale esiste un buffer di transito ove é possibile depositare i dati prima del comando di lettura o viceversa prima del comando di scrittura. ( Valido solo per gli indirizzi da 670 a 702 ) Quando si scrive o si legge si scrive e si legge sul buffer di transito; per far sì che l informazione raggiunga o pervenga effettivamente dal database del regolatore bisogna eseguire il comando appropriato. Questo significa che se si vuole scrivere un segmento bisogna prima preparare il buffer con tutti i dati e poi dare il comando di scrittura. 22

CAP. 5. - SISTEMA DI SUPERVISIONE Pertanto scrivendo per esempio che il nuovo valore di Fast vale 2 fare come segue: PSReg(Ind,674,2) questa istruzione permette di settare l indirizzo 674 al valore di 2 ma ciò non basta perché essa ha ottenuto il solo risultato di scriverlo sul buffer. Per far sì che il valore 2 raggiunga effettivamente la sua destinazione occore dare il seguente comando: PSReg(Ind,670,1) ovvero il comando di WRITE del Buffer. 4) Non appena si scrivono il numero di programma da editare ed il numero di segmento, il Sw del regolatore provvede a caricare (se il programma ed il segmento esistono altrimenti da un codice di exception=8) tutti gli altri dati del programma e del segmento che si rendono così disponibili per la lettura. In altre parole questa sequenza é equivalente ad eseguire un comando di READ. 5) La durata del segmento é espressa in unità congruenti con quanto scelto all indirizzo 673 ovvero ore:minuti oppure minuti:secondi. In entrambi i casi il numero viene espresso nelle unità più piccole, ovvero in minuti nel primo caso ed in secondi nel secondo caso. Esempio 2ore e 45 minuti =2*60+45=165 minuti 6) Per leggere l orologio basta leggere con la funzione Read Registers i registri dal 697 al 702. Si tenga presente che: a) l anno è espresso con numeri da 0..99 b) il mese con numeri da 1..12 (Gennaio=1;Dicembre=12) c)l indirizzo 699 é il giorno del mese (1..31),mentre il 700 é il giorno della settimana (1=Domenica, 2=Lunedi,...7=Sabato) Per scrivere bisogna fare nell ordine : a) Fermare l orologio con la funzione 85 in cui il almeno primo dato del campo DATA vale 1 : Addr 85 01 01 CRC16 CRC16 b) Scrivere la nuova data negli indirizzi dal 697 al 702, tenendo conto che al momento in cui si ferma l orologio la data corrente viene copiata in questi indirizzi. Ciò vuol dire che basta modificare solo quello che serve. c) Far ripartire l orologio con la funzione 85 con il primo dato del campo DATA uguale a 0. Addr 85 00 00 CRC16 CRC16 7) Per scrivere un float non si possono usare (questo solo nell ambito set programmato) due operazioni consecutive del comando PSReg ma si deve usare il comando PMReg. 8) Stato operativo impostato da tastiera. Indica lo stato di funzionamento della stazione AC. La word a 16 bit ricevuta è da interpretare nel seguente modo: MSB LSB Non usati Possible Set M ode Active M ode Keyboard Set point M ode Il significato del campo Possible Set Mode (Stati possibili) è il seguente: 0 Solo Locale 1 Solo Remoto 2 Locale / Remoto 3 Locale / Computer 4 Locale / Remoto / Computer 23

Il significato del campo Active Mode (Stato attivo) è il seguente: 0 None 1 Locale 2 Remoto 3 Computer Il significato del campo Keyboard Setpoint Mode (stato richiesto da tastiera) è il seguente: 0 None 1 Locale 2 Remoto 3 Computer 9) Modifica dello stato di funzionamento da computer. La word a 16 bit trasmessa o ricevuta, ha il seguente significato: 0 None 1 Locale 2 Remoto 3 Computer 5.6 Come inserire i dati di un programma usando la seriale ModBus 1) Lanciare, se é il caso, il comando di cancellazione di tutti i programmi: PSReg(Ind,670,-2). Scrivere il numero del nuovo programma all indirizzo 671: PSReg(Ind,671,NProg) Si tenga presente che i numeri programma vanno da 0..15 per il primo blocco Programmatore (PRG_#1),da 16..31 per il secondo (PRG_#2), da 32..47 per il terzo (PRG_#3) e da 48..64 per il quarto (PRG_#4). 2) Scrivere tutti i dati comuni del programma (unità di tempo, Fast, ricicli, restart, dev1, dev2, time1, time2, Range Low, Range High) quindi tutti i dati relativi al segmento 0 o segmento iniziale (set point, set point aux, durata, max deviazione, stati logici, formato ) 3) Dare il comando di nuovo programma: PSReg(Ind,670,4) 4) Scrivere tutti i dati del segmento numero N (set point, set point aux, durata, max deviazione, stati logici, format ) 5) Dare il comando di aggiungi nuovo segmento: PSReg(Ind,670,5) 6) Ripetere gli step 4 e 5 per N che va da 1 al numero finale di segmenti del programma. 5.7 Variabili di sistema Sezione di supervisione Indirizzo JBus Tipo Variabile Abilit. Scritt. 0151 W Password ( 2 lettere vedi nota 1 ) NO 0152 W Password (2 lettere vedi nota 1 ) NO 0153 W Password (2 lettere vedi nota 1 ) NO 0154 W Blocco gruppi ( Vedi nota 2 ) NO 0155 W Codice prodotto ( Vedi nota 3 ) NO 0156 W Codice prodotto ( Vedi nota 3 ) NO 0157 W Codice produttore ( ASCON = 600 ) NO 0158 Identificativo di release ( Vedi nota 3 ) NO 0159 - Identificativo di release ( Vedi nota 3 ) NO 0191 FP TS tempo di campionamento SI 24

CAP. 5. - SISTEMA DI SUPERVISIONE Note 1) La password è composta da 3 words, ogni words sono due lettere espresse in decimale. La sua rappresentazione è quindi la seguente: PASSWORD lettera n 1 lettera n 2 lettera n 3 lettera n 4 lettera n 5 0 0151 0152 0153 2) Il blocco gruppi è una word, dove ogni gruppo occupa 3 bits. I gruppi sono identificati come segue: A-B-C-Set Pnt-Manual I gruppi A-B possono essere: Visibili e modificabili = 10 Visibili = 01 Non Visibili = 00 I gruppi C-Set Pnt-Manual possono essere: Modificabili = 1 Non modificabili = 0 Blocco gruppi Manual Set Pnt C B A 3) Il codice di prodotto e l identificativo di release, sono composti da 4 caratteri ASCII rappresentati da 2 words. Codice prodotto lettera n 1 lettera n 2 lettera n 3 lettera n 4 0155 0156 Identificativo di release lettera n 1 lettera n 2 lettera n 3 lettera n 4 0158 0159 Esempio : Release = 00B 32 48 48 66 32 * 256 + 48 = 8240 48 * 256 + 66 = 12354 5.8 Lettura e scrittura della configurazione E' possibile Leggere Scrivere la Configurazione da ModBus, usando le istruzioni: Preset Multiple Register e Read Register Tramite queste istruzioni si può accedere in lettura e scrittura su tutto il DataBase del regolatore Registro Tipo Dati Lettura Scrittura 6000... 7FFF NET SI NO 8000... 8FFF MENU SI NO 9000... 9FFF INTERI SI SI A000... AFFF REALI SI SI B000... BFFF STRINGHE SI SI C000... CFFF COILS SI SI D000..DFFF REGISTERS SI SI E000..E7FF Variabili ARCNET da produrre SI SI (Nota) E800..EFFF Variabili ARCNET da consumare SI SI (Nota) 25