ModBus Constructor. Guida Quick Start



Documenti analoghi
MANUALE UTENTE PEL 2500 / PEL 2500-M V2.0.0 ( ) 1 (7)

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Procedure di ripristino del sistema.

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

Gestione Rapporti (Calcolo Aree)

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo

lo PERSONALIZZARE LA FINESTRA DI WORD 2000

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

paragrafo. Testo Incorniciato Con bordo completo Testo Incorniciato Con bordo incompleto

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Office 2007 Lezione 02. Le operazioni più

Figura 1 Le Icone dei file di Excel con e senza macro.

Creazione Account PEC puntozeri su Outlook Express

Word Libre Office. Barra degli strumenti standard Area di testo Barra di formattazione

Il foglio elettronico: Excel

Alcuni consigli per un uso di base delle serie di dati automatiche in Microsoft Excel

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

Manuale Utente Albo Pretorio GA

Office 2007 Lezione 09. Contenuto riutilizzabile

MODULO 4: FOGLIO ELETTRONICO (EXCEL)

POSTA ELETTRONICA Per ricevere ed inviare posta occorrono:

Manuale di istruzioni sulle maschere per il calcolo del punteggio e del voto (unico) degli studenti che sostengono la Prova nazionale 2011

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

I Codici Documento consentono di classificare le informazioni e di organizzare in modo logico l archiviazione dei file.

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

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Uso di base delle funzioni in Microsoft Excel

Capitolo 3. Figura 34. Successione 1,2,3...

Office 2007 Lezione 08

Operazioni fondamentali

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

1. Il Client Skype for Business

LUdeS Informatica 2 EXCEL. Seconda parte AA 2013/2014

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

Manuale di Kiwi on line

Guida alla configurazione della posta elettronica dell Ateneo di Ferrara sui più comuni programmi di posta

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Guida all uso di Java Diagrammi ER

Il calendario di Windows Vista

2. Salvare il file (cartella di lavoro) con il nome Tabelline 3. Creare le seguenti due tabelle (una tabellina non compilata e una compilata)

EXCEL ESERCIZIO DELLE SETTIMANE

Procedure di ripristino del sistema.

Per effettuare la stampa di una cartella di lavoro si accede al comando. Stampa dal menu File o si utilizza il pulsante omonimo sulla barra

FACILE QA-OMNI. Guida veloce

1.0 GUIDA PER L UTENTE

Entrare nel sistema. Clicca su Entra per entrare nel sistema. PAGINA 1

L interfaccia utente di Office 2010

Cominciamo dalla barra multifunzione, ossia la struttura a schede che ha sostituito la barra dei menu e la barra delle icone (Figura 1).

STRUMENTI PER L ACCESSIBILITÀ DEL COMPUTER.

On-line Corsi d Informatica sul web

GUIDA UTENTE BILLIARDS COUNTER (Vers )

Aggiornamenti Sistema Addendum per l utente

IRSplit. Istruzioni d uso 07/10-01 PC

Studio Legale. Guida operativa

STRUMENTI DI PRESENTAZIONE MODULO 6

STAMPA UNIONE DI WORD

INDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.

Registratori di Cassa

ZFIDELITY - ZSE Software & Engineering Pag.1 / 11

GESTIONE INCASSI SAGRA. Ver. 2.21

Guida. Macchina Scratch

Manuale Terminal Manager 2.0

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

. 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

File, Modifica, Visualizza, Strumenti, Messaggio

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

FPf per Windows 3.1. Guida all uso

CONTROLLO ORTOGRAFICO E GRAMMATICALE

Servizio Feed RSS del sito CNIT

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera

Procedura di creazione di un set di dischi di ripristino del sistema.

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

Il foglio elettronico

Guida SH.Shop. Inserimento di un nuovo articolo:

BARCODE. Gestione Codici a Barre. Release 4.90 Manuale Operativo

ShellExcel. Una domanda contiene i riferimenti (#A, #B, #C) alle celle che contengono i dati numerici del

LIFE ECOMMERCE OFF LINE Istruzioni per l uso

Laplink FileMover Guida introduttiva

Potenzialità statistiche Excel

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

Gestire immagini e grafica con Word 2010

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.

GUIDA UTENTE PRIMA NOTA SEMPLICE

METODI per effettuare previsioni con analisi di tipo WHAT-IF

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

L amministratore di dominio

MANUALE UTENTE. Computer Palmare WORKABOUT PRO

NOTA TECNICA UTILIZZO REGISTRO ONLINE

LA FINESTRA DI GOAL (SCHERMATA PRINCIPALE E PANNELLO DEI COMANDI)

GENERAZIONE RAPPORTO XML

Introduzione a Word. Prima di iniziare. Competenze che saranno acquisite. Requisiti. Tempo stimato per il completamento:

CREARE PRESENTAZIONI CON POWERPOINT

ACCESSO AL SISTEMA HELIOS...

4 3 4 = 4 x x x 10 0 aaa

Guida Migrazione Posta Operazioni da effettuare entro il 15 gennaio 2012

Transcript:

2006 by KurySoft, tutti i diritti riservati Web: www.kurysoft.com Data: 14-Nov-2006

INDICE 1. INTRODUZIONE... 3 2. DESCRIZIONE DI UN DISPOSITIVO MODBUS... 5 2.1. Coriolis Mass Flow Meter.... 5 2.1.1. T1. Mass Flow Meter Holding Registers....5 2.1.2. T2. Mass Flow Meter Coils...7 2.1.3. T3. Mass Flow Meter Command....7 2.1.4. T4. Mass Flow Meter Exception Responses....7 2.2. Descrizione dei parametri principali... 8 2.3. Ordinare i campi dati all'interno del modulo... 13 2.4. Aggiungere richieste... 14 2.5. Parametri del simulatore... 19 2.5.1. T5. Discrete value simulation....19 2.5.2. T6. Analogous value simulation....19 3. USARE DISPOSITIVI MODBUS.... 21 4. TERMINI E DEFINIZIONI.... 23 4.1. Oggetti... 23 4.2. Tipi di dati Mobdus Constructor... 23 4.2.1. Tipi numerici...23 4.2.2. Tipi discreti...23 4.3. Codifica dei dati... 23 4.3.1. Long...23 4.3.2. Float...24 4.3.3. Double...24 4.4. Regole di utilizzo delle funzioni MODBUS... 24 4.5. Esempi di formati... 25 4.5.1. Tipi numerici...25 4.5.2. Tipi discreti...25 4.5.3. Predefinito per tipi numerici...25 4.5.4. Predefinito per tipi discreti...26-2 -

1. INTRODUZIONE. Grazie per aver scelto Mobdus Constructor! Mobdus Constructor è stato realizzato per aiutare sviluppatori, programmatori e utenti dei dispositivi MODBUS ad effettuare la verifica e la configurazione dei suddetti sistemi. Mobdus Constructor permette di creare velocemente modelli di gestione dei dati per qualunque dispositivo Mobdus. Il mercato offre una varietà di programmi simili che tuttavia visualizzano i dati come colonne di numeri astratti dello stesso tipo, rendendone difficili la lettura e l'analisi, soprattutto nel caso che nel registro del dispositivo siano contenuti dati di vari tipi ordinati casualmente. Mobdus Constructor permette di impostare il tipo di dati principale (integer, long (integer), float, double (float) o byte) per qualsiasi registro o set di registri. I tipi interi possono essere rappresentati come signed, unsigned, HEX o binary. Mobdus Constructor consente di rappresentare lo stesso registro in più modi. Per esempio, quando due registri contigui contengono numeri del tipo long, è possibile specificare per ciascuno di essi dei campi dati aggiuntivi, nei quali il contenuto dei registri sarà rappresentato come HEX o unsigned integer. I campi dati corrispondenti ai vari elementi (registri o elementi discreti) si possono disporre liberamente nel modulo del progetto. È possibile impostare la dimensione, il colore, il tipo di carattere, e la didascalia per ciascun campo. Gli elementi discreti che occupano un intervallo continuo di indirizzi si possono visualizzare nello stesso campo per semplificare la lettura e risparmiare spazio. Mobdus Constructor permette di effettuare una trasformazione lineare su ciascun campo dati dei registri, per convertire le unità di misura utilizzate dal dispositivo in unità universalmente accettate o in unità utilizzate da altri sistemi. Per esempio, se nel registro la pressione è espressa in milliampere, cioè al dispositivo il segnale arriva da un trasduttore di pressione con uscita in corrente, tale valore può essere convertito in kgf/cm 2 o psi. Mobdus Constructor consente di impostare per tutte le funzioni supportate (01, 02, 03, 04, 05, 06, 15, 16, 22, 23) le richieste automatiche da eseguire in base all intervallo impostato individualmente per ciascuna richiesta. È possibile specificare le richieste che verranno eseguite dall utente attraverso menu o dialoghi. È un modo conveniente per impostare i comandi di controllo dei dispositivi, per modificare vari parametri e per fare richieste di testo. È possibile usare il progetto per interrogare dispositivi in modalità Master e per simulare dispositivi in modalità Slave. Inoltre, per la modalità Slave, è possibile impostare una procedura di modifica dati in base a certe regole precedentemente specificate). Mobdus Constructor permette di aggiungere didascalie, cornici e immagini al modulo del progetto. Insieme a Mobdus Constructor viene fornito Mobdus Reader, un utility che utilizza il modello creato con Mobdus Constructor per interagire con il dispositivo. Mobdus Reader è un programma freeware. Se avete creato un progetto Mobdus Constructor per il dispositivo da voi realizzato, i vostri clienti non dovranno acquistare Mobdus Constructor, a loro basterà scaricare Mobdus Reader gratuito. - 3 -

Mobdus Reader permette di lavorare simultaneamente con più progetti, cioè interrogare o simulare più dispositivi utilizzando una o più porte СОМ. Oltre alle richieste specificate nel progetto, è possibile modificare qualsiasi elemento dati dei dispositivi semplicemente cliccando sul rispettivo campo dati sia in modalità Master (invio di un'appropriata richiesta), che in modalità Slave. - 4 -

2. DESCRIZIONE DI UN DISPOSITIVO MODBUS. In questa sezione, passo per passo, imparerete come creare un progetto, prendendo come esempio pratico di dispositivo il misuratore di portata massica ad effetto Coriolis (Coriolis Mass Flow Meter). Descrizione dei Holding register e dei coil del dispositivo Conversione dei dati in unità standard Formattazione dei dati Disposizione dei campi dati nel modulo Impostazione di richieste (comandi) automatiche e gestite mediante menu Impostazione dei parametri di simulazione in modalità Slave 2.1. Misuratore di portata massica ad effetto Coriolis (Coriolis Mass Flow Meter). Vediamo innanzitutto la descrizione dell apparecchio. Permette di misurare la massa di liquidi e gas che passano attraverso il misuratore. Supporta le direzioni di flusso diretto e inverso. Se il flusso è diretto, il valore del contatore di massa incrementa, se il flusso è inverso, il valore del contatore decrementa e può assumere un valore negativo. Inoltre, l apparecchio può essere usato come dosatore. È dotato di due uscite discrete (collettori aperti) per gestire sia la valvola che il motore, sia per il flusso diretto che inverso. La dimensione della porzione si imposta dall utente. Se il valore della porzione è un numero positivo, si attiva il flusso diretto, se tale valore è negativo, si attiva il flusso inverso. Interfaccia dell'apparecchio: RS-485, protocollo di comunicazione: MODBUS RTU. Avviare Mobdus Constructor: Start Programmi MobdusConstructor MBConstructor.exe Creare un nuovo progetto: File New Salvare il progetto con il nome Coriolis.mbc : File Save as Vediamo ora come è implementato il protocollo di scambio MODBUS per questo misuratore. La descrizione dei registri del misuratore è riportata nella tabella Т1. 2.1.1. T1. Mass Flow Meter Holding Registers. Funzione Indirizzo (decimale) Tipo di dati Commento Tipo del dispositivo 0000 Versione del firmware 0001 Indirizzo MODBUS 0002 Velocità di trasmissione dati 0003 unsigned integer unsigned integer unsigned integer unsigned integer Sola lettura Sola lettura Impostazione di fabbrica 1 4800, 9600 o 19200 baud Impostazione di fabbrica: 9600 Al tentativo di impostare un valore diverso da 4800, 9600 o 19200, verrà assunto il valore 9600 Parità 0004 byte (MSB) 0-no parity - 5 -

Funzione Indirizzo (decimale) Tipo di dati Stop bit 0004 byte (LSB) Porzione 0005 long (1) (3) Contatore di massa 0007 long (1) Portata di massa 0009 integer Densità 0010 unsigned integer Commento 1-odd parity 2-even parity Impostazione di fabbrica: 2 (even) 0 1 stop bit 2 2 stop bit 1 unità equivale a 0.1 kg Può essere negativo Durante la lettura visualizza la massa accumulata dopo il resettaggio del contatore 1 unità equivale a 0.1 kg/min Positivo per il flusso diretto Negativo per il flusso inverso 1 unità equivale a 1000/32768 kg/m 3 Temperatura 0011 integer 1 unità equivale a 250/511 ºC Pressione 0012 Tempo di misurazione 0013 Registro di controllo 0015 Massa per singolo impulso 0016 Fattori di calibrazione 0017-0024 unsigned integer unsigned (1) unsigned integer unsigned integer long Segnale del sensore di sovrapressione 4-20 ма 1023 equivale a 20 ма (40 kgf/cm 2 ) 205 equivale a 4 ма (0 kgf/cm 2 ) Secondi (2) 1 unità equivale a 0.1 kg Disponibile per la registrazione con il ponticello J7 inserito Riserva 0025-0031 Non utilizzato in questa versione (1) I numeri interi lunghi si dispongono nei registri come segue: la upper word occupa il primo registro, la lower word occupa il secondo registro. Per esempio, il numero 01020304h (16909060 decimale) verrà disposto come segue: registro A+0: 0102h registro A+1: 0304h trasmesso: 01 02 03 04 (2) Durante la lettura, visualizza la modalità di funzionamento: 0 modalità misuratore (predefinita) 1 modalità passiva del dosatore. Entrambe le valvole sono chiuse. 2 modalità attiva del dosatore. Una delle valvole è aperta, si sta dosando una porzione. Durante la registrazione, effettua le seguenti operazioni: 0 dalla modalità passiva del dosatore passa in modalità misuratore. Viene ignorato se il dosatore è attivo. 1 se è in modalità misuratore, passa in modalità passiva del dosatore, resetta i contatori di massa e di tempo, chiude entrambe le valvole. se il dosatore è attivo, passa in modalità passiva. - 6 -

2 inizia il dosaggio della porzione in base a quanto impostato nel registro 5 (porzione) 4 resetta i contatori di massa e di tempo (solo in modalità 0 e 1) 8 effettua la regolazione della portata zero (solo in modalità 0 e 1) (3) si usa per memorizzare la dimensione di una porzione in modalità dosatore. 1 unità equivale a 0.1 kg. La descrizione dei coil è riportata nella tabella T2. 2.1.2. T2. Mass Flow Meter Coils. Funzione Indirizzo (decimale) Tipo di dati Commento Uscita di controllo della portata per il flusso diretto 0000 Sola lettura in modalità dosatore 1-valvola aperta 0-valvola chiusa Uscita di controllo della portata per il flusso inverso 0001 Sola lettura in modalità dosatore 1-valvola aperta 0-valvola chiusa Riserva 0002-0031 Non utilizzato in questa versione Il misuratore di portata massica supporta i seguenti comandi ed eccezioni: 2.1.3. T3. Mass Flow Meter Command. Codice di funzione Tipo di comando Nome 01 Read Read coil status 03 Read Read holding registers 05 Write Write single coil 06 Write Write single register 15 Write Write multiple coils 16 Write Write multiple registers 2.1.4. T4. Mass Flow Meter Exception Responses. Codice Nome Descrizione 01 Illegal function Codice di funzione non supportato. 02 Illegal data address 03 Illegal data value L indirizzo dati nella richiesta non è consentito per il dispositivo. Uno dei valori contenuti nel campo dati della richiesta non è consentito per il dispositivo. - 7 -

2.2. Descrizione dei parametri principali. Descriviamo i registri ed i coil del misuratore di portata massica. Per farlo, aprire la scheda Objects nel menu Settings: Settings Objects Appare un modulo simile ad un foglio elettronico. Nella colonna Object evidenziare quindici celle (tante quanti i registri del misuratore). Fare clic con il tasto destro del mouse sull area evidenziata per visualizzare il menu a discesa con tutti i tipi di oggetti utilizzati. Cliccare sulla voce Holding register. Ora, bisogna assegnare a ciascun registro l indirizzo e il titolo in base alla descrizione. - fare doppio clic con il tasto sinistro del mouse sulla prima cella vuota nella colonna Label - inserire il nome del registro Tipo del dispositivo" ( Device type ) - 8 -

- fare doppio clic con il tasto sinistro sulla cella adiacente nella colonna Address, specificare il valore 0 - inserire nomi e indirizzi degli altri elementi. I numeri (long, float e double) che si rappresentano utilizzando alcuni registri, possono risiedere nei registri e quindi essere rappresentati in vari modi. Di regola, i produttori dei dispositivi forniscono indicazioni esplicite su come vengono rappresentati tali numeri. Per determinare la modalità di collocazione dei numeri nei registri, consultare la sezione Codifica dei dati. Come avete avuto modo di vedere nella descrizione, l'apparecchio utilizza vari tipi di dati. Impostiamo i tipi da utilizzare. - fare clic con il tasto destro del mouse sulla colonna Data e selezionare la voce desiderata dal menu a discesa - specificare Unsigned nella colonna Show, se necessario. Abbiamo impostato il chilogrammo (kg) come unità di massa, mentre l unità di massa adottata dal misuratore è 0.1 kg. Mobdus Constructor dispone di un meccanismo che consente di risolvere problemi di questo tipo. Se si immette nella colonna Scale l espressione del tipo Ax+B, il numero contenuto nel rispettivo registro o gruppo di registri (se è un numero complesso - 9 -

del tipo long, float o double), sarà sottoposto ad una trasformazione lineare. Ciò risulta molto comodo quando si usano unità diverse da quelle supportate dal dispositivo. Inserire l espressione 0.1x+0 nella colonna Scale per i registri 5, 7, 9 e 15. Abbiamo convertito in chilogrammi le unità adottate dal misuratore. Nello stesso modo è possibile convertire il valore della densità: D = x * 1000 / 32768 = 0.03052x e della temperatura: T = x * 250 / 511 = 0.489x Convertire le unità di pressione è un pò più difficile, dovremo risolvere la seguente equazione: Pressione: P = Ax + B x 1 = 205, P 1 = 0 B = - 205 * A x 2 = 1023, P 2 = 40 40 = A*1023 + 205*B A = 40/(1023-205) = 0.049 B = -205*A=-205*0.049 = -10.045-10 -

Come avete avuto modo di vedere, convertire le varie unità di misurazione non è per niente difficile. Ma come fare con le unità di tempo? I secondi vanno bene per brevi intervalli di tempo, ma quando si tratta di centinaia o migliaia di secondi, diventa scomodo usarli. Per risolvere questo problema, applicheremo la formattazione. La formattazione dei dati permette di: - dare più leggibilità ai numeri - evitare le situazione quando troppe cifre ingombrano il campo di output. Per ogni tipo di dati è impostato il formato predefinito. L utente non dovrà specificare il formato predefinito, se va bene quello preimpostato basterà lasciare vuoto il rispettivo campo. Per creare formati personalizzati, usare il formato predefinito. Ulteriori informazioni sulle regole di formattazione sono disponibili nella sezione Esempi di formati. Fare clic con il tasto destro sulla riga Porzione, kg ( Portion, kg ) nella colonna Format. Selezionare la voce Default. Nel campo si visualizzerà la stringa ## ###. Il misuratore di portata massica permette di misurare la massa e la portata massica con il grado di precisione 0.1 kg e 0.1 kg/min rispettivamente. Se lasceremo il formato predefinito, non saremo in grado di vedere la parte frazionaria. Per visualizzarla, aggiungere.0 alla riga. Le stringhe si visualizzeranno come segue: # ### ### ##0.0 per la massa e per la porzione ## ##0.0 per la portata Siccome il convertitore analogico digitale di segnale del sensore di pressione fornisce una risoluzione di 0.05 kg/cm 2, è logico mostrare due cifre dopo la virgola decimale: ## ##0.00 Specificare il valore 10 nel campo Default value del registro Pressione, kgs/cm2 ( Pressure, kgs/cm 2 ). Premere INVIO. Il valore si visualizzerà come 10.00. Lasciamo interi i valori della temperatura e della densità. - 11 -

Impostiamo due modalità di visualizzazione del tempo. Facciamo rimanere i secondi come unità della prima modalità, per la seconda invece applicheremo la formattazione hh:mm:ss, per visualizzare il tempo in formato ore: minuti: secondi. - fare doppio clic sull area vuota nella colonna Object - selezionare Holding register - fare doppio clic sulla stessa riga nella colonna Data - selezionare il tipo Long - specificare Unsigned nella colonna Show - nel campo Label, specificare Tempo, oo:mm:ss ( Time, hh:mm:ss ) - specificare il valore 13 nel campo dell indirizzo - nel campo Format, specificare oo:mm:ss - specificare il valore 1000 (tempo in secondi) nel campo Default value - fare clic sull intestazione della colonna Address, per ordinare i registri Ora, 1000 secondi si visualizzano come 00:16:40 Infine, descriviamo i coil del misuratore: - con il mouse, evidenziare due celle vuote nella colonna Object - fare clic con il tasto destro sulle celle evidenziate - selezionare la scheda Coils dal menu a discesa - intitolare uno dei Coil Flusso diretto con indirizzo 0 - intitolare l altro Coil Flusso inverso con indirizzo 1-12 -

Abbiamo descritto tutti i parametri principali degli oggetti del misuratore di portata massica. Premere OK. Salvare il progetto: File Save. 2.3. Ordinare i campi dati all interno del modulo. Nell angolo superiore destro del modulo possiamo vedere i campi dati e le etichette degli oggetti che abbiamo creato. Fare clic con il tasto sinistro del mouse su uno dei campi bianchi. Verrà evidenziato in blu scuro. Tenendo premuto il tasto sinistro del mouse, trascinare il campo evidenziato nella posizione desiderata. Per evidenziare campi multipli, selezionare i campi desiderati tenendo premuto il tasto Ctrl. In questa maniera, ordinare tutti i campi in modo che si possano vedere tutte le etichette. Tenere presente che spostando il campo si sposta anche la rispettiva etichetta, invece spostando l'etichetta il campo rimane nella posizione iniziale. - 13 -

Evidenziare l etichetta Contatore di massa, kg ( Mass counter, kg ). Estenderla verso sinistra in modo da riempire la riga. Ripetere la procedura con le altre etichette. Per una lettura più comoda, si consiglia di collocare separatamente i campi dei parametri misurabili. Iniziamo dall angolo superiore sinistro del modulo. Per separare visivamente gruppi di campi, si consiglia di usare le cornici. Fare clic sul modulo con il tasto destro del mouse. Si visualizzerà un menu a discesa, dal quale selezionare Add Frame. Modificare la posizione e le dimensioni della cornice per sistemarla intorno al gruppo di campi desiderato. Ripetere la stessa procedura con i campi inerenti il controllo e i parametri di comunicazione. Premere Ctrl+S per salvare il progetto. 2.4. Aggiungere richieste. Il protocollo MODBUS utilizza le richieste standard per permettere al dispositivo remoto di trasmettere dati ed eseguire operazioni. Mobdus Constructor permette di gestire le richieste in tre modi: - automaticamente - mediante menu - mediante dialogo Aprire la finestra di impostazione di richieste: Settings Requests. La tabella posizionata nella parte bassa della finestra contiene tutti gli elementi della struttura dei dati. Nella parte alta della finestra si trova la tabella nella quale si inseriscono i parametri delle richieste. Iniziamo col creare le richieste automatiche che leggono il contenuto dei registri e dei coil del nostro misuratore. - fare doppio clic su una cella vuota nella colonna Function - apparirà un menu nel quale selezionare la voce 03.Read holding registers. Alla tabella verrà aggiunta una riga con i parametri della richiesta predefiniti. - 14 -

- cliccare nuovamente su questa riga. Nella tabella in basso alla finestra evidenziare con il mouse tutte le celle nella colonna Address relative ai registri - fare clic con il tasto destro del mouse - premere su Apply nel menu che apparirà Ripetere la stessa procedura per i coil. Usare la funzione 01.Read coils È possibile modificare il tempo minimo di richiesta. Per farlo, fare doppio clic sulla cella desiderata nella colonna Min.period, ms. Specificare il valore 300 millisecondi per entrambe le richieste. Tenere presente che questo parametro definisce il tempo minimo possibile di interrogazione dei dati specificati nella richiesta. Questo tempo può aumentare in funzione del tempo necessario per processare altre richieste. Se il valore di questo parametro si imposta a 0, la richiesta verrà eseguita con la massima frequenza possibile. Adesso bisogna specificare i comandi per la gestione del misuratore. I comandi si specificano mediante la scrittura di determinati valori nel registro di controllo con indirizzo 15. - creare la richiesta 06.Write single register - nella tabella in basso, selezionare la cella con indirizzo 15 (registro di controllo) nella colonna Write address - fare clic con il tasto destro del mouse - premere su Apply nel menu che apparirà - fare doppio clic su una cella nella colonna Write - specificare il valore 0 è il valore che verrà scritto nel registro di controllo all esecuzione del comando in oggetto - 15 -

- nella tabella in alto, nella colonna Label digitare il nome del comando Modalità misuratore ( Measure mode ). Questo nome diventerà voce del menu utente. - fare doppio clic su una cella nella colonna Control - selezionare la voce Menu 1 Ripetere le stessa procedura per creare altri comandi: Modalità dosatore ( Dose-meter mode ) (valore1) Dosaggio porzione ( Measure portion ) (valore 2) Resettaggio contatori ( Counters reset ) (valore 4) Regolazione zero ( Zero adjustment ) (valore 8) Si procede col creare i comandi per la gestione delle valvole: - creare la richiesta 15.Write multiple coils - nella tabella in basso, selezionare le celle con indirizzi Coils 0 e 1 nella colonna Write address - fare clic con il tasto destro del mouse - premere su Apply nel menu che apparirà - nella colonna Write, fare doppio clic sulla cella rispettiva all indirizzo 0, specificare il valore «1» - nella colonna Write, fare doppio clic sulla cella rispettiva all indirizzo 1, specificare il valore «0» Quando si esegue questo comando, la valvola si apre per il flusso diretto, e si chiude per quello inverso - intitolare il comando Apertura per il flusso diretto» ( Forward flow open ) Creare il comando Apertura per il flusso inverso ( Reverse flow open ): - specificare il valore «0» per il Coil con indirizzo 0 - specificare il valore «1» per il Coil con indirizzo 1 Infine, creare il comando Chiusura flusso ( Shut flow ) che serve per chiudere entrambe le valvole: - 16 -

- per entrambi i Coil specificare il valore «0» Alcuni comandi sono relativi al controllo in modalità dosatore, mentre altri si utilizzano in modalità misuratore, poiché non è possibile gestire le valvole in modalità dosatore. Tuttavia ci sono due comandi comuni per entrambe le modalità: si tratta dei comandi «Resettaggio zero» e «Regolazione zero». Si consiglia di separarli l'uno dall'altro nel menu. Per farlo, procedere come segue: - creare due richieste, per esempio 01.Read coils - impostare il parametro Menu 1 nella colonna Control - al posto del nome inserire il simbolo - (trattino) Queste richieste non saranno disponibili nel menu, serviranno da separatori tra le voci. - cliccare con il pulsante sinistro su una cella nella colonna Function. - tenendo premuto il tasto trascinare la cornice grigia tra i comandi «Dosaggio porzione» e «Resettaggio contatori» Procedere nella stessa maniera per ordinare le voci come illustrato sotto. - 17 -

Nella scheda Menu caption sostituire la dicitura Menu 1 con Controllo (Contol). Premere OK. Salvare il progetto Ctrl+S. Nel menu principale appare la nuova voce Control: Quando il file del progetto si aprirà in Mobdus Reader, vi sarà aggiunto lo stesso menu che si potrà usare per l esecuzione dei comandi creati dall utente. Questo menu non è abilitato in Mobdus Constructor. Procediamo impostando le finestre di dialogo per la modifica dei parametri del dispositivo remoto. Aprire nuovamente il modulo Requests. - creare la richiesta 16.Write multiple register - intitolarla «Dimensione porzione» (Portion size) - specificare l indirizzo «5» - creare la richiesta 16. Write multiple register - intitolarla «Parametri di comunicazione» (Communication parameters) - specificare gli indirizzi da 2 a 4 - creare la richiesta 06.Write single register - intitolarla «Massa per singolo impulso, kg» (Mass per pulse, kg) - specificare l indirizzo «16» - impostare il parametro di controllo per tutti e tre i comandi come Dialog (menu 2) - sostituire la dicitura Menu 1 con Impostazioni MFM (MFM Settings) - premere OK - salvare il progetto: Ctrl+S - 18 -

Al menu si aggiunge un altra voce: Impostazioni MFM. Aprire il menu e selezionare «Parametri di comunicazione». Si aprirà la finestra di dialogo che consente di modificare i parametri di comunicazione per il misuratore. Durante il lavoro con Mobdus Reader, nei campi dati di queste finestre saranno presenti i valori correnti ricevuti direttamente dal dispositivo mediante comandi di lettura, oppure i valori predefiniti. I valori predefiniti si usano se fino al momento di apertura della finestra non sono mai stati ricevuti dei dati, ciò può accadere ad esempio, quando sono disattivate le richieste automatiche. 2.5. Parametri del simulatore. Il progetto creato con Mobdus Constructor può essere usato da Mobdus Reader sia per l interrogazione del dispositivo in modalità Master che per la simulazione del dispositivo in modalità Slave. In modalità Slave, l utente può cambiare i valori dei registri e dei dati discreti sia manualmente che automaticamente in base alla funzione specificata. È possibile impostare la funzione con l aiuto di seguenti parametri: Default value, Value1, Value2, Period. La seguente regola vige per elementi discreti e per registri rappresentati sotto forma di Hex e Binary: 2.5.1. T5. Discrete value simulation. Tempo Valore elemento dati 0 < t < 1/3 Period Default value 1/3 Period < t < 2/3 Period Value1 2/3 Period < t < Period Value2 Period < t < 4/3 Period Default value 4/3 Period < t < 5/3 Period Value1 Se il registro contiene dati di altri tipi (Float, Double) oppure numeri interi sia Signed che Unsigned, i valori si cambiano come segue: 2.5.2. T6. Analogous value simulation. Tempo Valore elemento dati 0 < t < 1/3 Period Funzione lineare da Default value a Value1 1/3 Period < t < 2/3 Period Funzione lineare da Value1 a Value2 2/3 Period < t < Period Funzione lineare da Value2 a Default value Period < t < 4/3 Period Funzione lineare da Default value a Value1 4/3 Period < t < 5/3 Period Funzione lineare da Value1 a Value2 Se il valore di Period è 0, si usa il valore predefinito Default value. Aprire la finestra Objects: Settings Objects e configurare i parametri di simulazione come illustrato nell immagine. - 19 -

Notate che il valore Value1 per l elemento Time è uguale a un terzo e il valore Value2 a due terzi della durata del periodo. In questo caso il valore Time sarà precisamente uguale al tempo trascorso dal momento di connessione. - premere OK - salvare il progetto: Ctrl+S - 20 -

3. USARE DISPOSITIVI MODBUS. In questa sezione imparerete ad usare i dispositivi descritti con l aiuto di Mobdus Constructor. Invece del dispositivo vero, utilizzeremo il simulatore. Se il vostro computer ha due porte СОМ, connettetele tra di loro con un cavo null modem. Una delle porte COM sarà usata dal Master, l altra dallo Slave. Se il computer dispone di una sola porta COM, installate Mobdus Reader su un altro computer avente almeno una porta CОМ e connetteteli con un cavo null modem. Il file di installazione separato di Mobdus Reader è scaricabile qui: http://www.kurysoft.com/products.shtml. Avviare Mobdus Reader: Start Programmi MobdusConstructor MBReader.exe - aprire il file Coriolos.mbc. - contrassegnare la voce Master nel menu Mode - selezionare la prima porta COM (per esempio СОМ1) nel menu Connection - aprire un altro file Coriolos.mbc. - contrassegnare la voce Slave nel menu Mode - selezionare un altra porta COM (per esempio COM2) nel menu Connection - sistemare i due moduli l uno accanto all altro in modo che siano visibili tutti i campi dati. Modificare le dimensioni, se necessario - accertarsi che siano identici i parametri di connessione delle due porte COM. Per aprire la finestra per la modifica di questi parametri, premere Ctrl+P - accertarsi che il Master e lo Slave abbiano lo stesso ID. Per aprire la finestra di dialogo per la modifica degli ID, premere Ctrl+I - accertarsi che nel menu Mode sia segnato Auto request enable per il modulo Master e Simulation enable per il modulo Slave Notate che i campi dati del modulo Master sono vuoti, mentre in quelli del modulo Slave sono presenti i valori predefiniti. Premere il tasto F3 per stabilire la connessione. Noterete che i dati nel modulo Master e quelli nel modulo Slave cambiano simultaneamente. - 21 -

Quando il modulo Master è attivo, diventano disponibili due menu aggiuntivi Controllo e Impostazioni MFM, che abbiamo precedentemente creato nella sezione «Aggiungere richieste». Cliccare sul modulo Master per renderlo attivo. Usare le opzioni di questi due menu per vedere come i dati cambiano all esecuzione dei comandi. È possibile modificare dati direttamente nel modulo Slave quando la modalità di simulazione è disattivata: - cliccare sul modulo Slave - togliere il flag dall opzione Simulation Enable del menu Mode I dati smetteranno di cambiare. - fare doppio clic nel campo Densità del modulo Slave - inserire un numero casuale - premere INVIO Non appena il Master eseguirà la seguente richiesta di lettura dei registri, il numero che avete immesso apparirà nel rispettivo campo del modulo Master. Allo stesso modo è possibile scrivere valori individuali nei registri e negli elementi discreti del dispositivo. - fare doppio clic nel campo Densità del modulo Master - inserire un numero casuale - premere INVIO Sessione completata, non dimenticate di salvare le impostazioni correnti, se ritenete che in seguito questi dati potranno esservi utili. Per farlo, selezionare l opzione Save session nel menu File. Salvare il file con nome Coriolis.mbs. Adesso, che avete appreso le tecniche principali di utilizzo di Mobdus Constructor e Mobdus Reader, sarete in grado di creare progetti per lavorare con reali dispositivi MODBUS impiegando molto meno tempo rispetto a quello che avete dedicato al nostro esempio. - 22 -

4. TERMINI E DEFINIZIONI. 4.1. Oggetti Nelle specifiche MODBUS, un oggetto è un elemento dati che può essere letto o scritto indipendentemente dagli altri. Esistono quattro tipi di oggetti: 1. Coil single bit Read-Write 2. Discrete input single bit Read-Only 3. Holding register 16-bits word Read-Write 4. Input register 16-bits word Read-Only 4.2. Tipi di dati Mobdus Constructor. Mobdus Constructor supporta i seguenti tipi di dati: 4.2.1. Tipi numerici Type Quantity of bits Quantity of registers integer (signed or unsigned) 16 1 long (signed or unsigned) 32 2 Float 32 2 Double 64 4 MSByte (signed or unsigned) * 8 ½ (most significant byte - MSB) LSByte (signed or unsigned) * 8 ½ (least significant byte - LSB) *Il byte (MSB o LSB) non può essere letto o scritto indipendentemente dall altro byte del registro. 4.2.2. Tipi discreti Type Quantity of bits single 1 multiple 2-16 4.3. Codifica dei dati. I tipi lunghi long, float e double sono rappresentati attraverso sequenze di registri. Esistono due modi di collocazione di tali numeri nei registri: diretto e inverso. 4.3.1. Long. B3 B2 B1 B0-23 -

MSB LSB Register A Register A+1 Transmitted First last Default B1 B0 (LSB) B3 (MSB) B2 Swapped B3 (MSB) B2 B1 B0 (LSB) 4.3.2. Float. B3 B2 B1 B0 S E E E E E E E E M M M M M M M M M M M M M M M M M M M M M M M Where floating point value = S1.M * 2 E-127 Register A Register A+1 Transmitted First last Default B1 B0 (LSB) B3 (MSB) B2 Swapped B3 (MSB) B2 B1 B0 (LSB) 4.3.3. Double. B7 B6 B5-B1 B0 S E E E E E E E E E E E M M M M M M M M M M M M M M M M M M M M M Where double precision floating point value = S1.M * 2 E-1023 Register A Register A+1 Register A+2 Register A+3 Transmitted first last Default B1 B0 B3 B2 B5 B4 B7 B6 Swapped B7 B6 B5 B4 B3 B2 B1 B0 4.4. Regole di utilizzo delle funzioni MODBUS. È possibile creare richieste di scrittura o lettura di determinati elementi dati del dispositivo solamente se questo elemento è stato specificato nel progetto. Per esempio, se è stato specificato almeno un Holding register, è sempre possibile usare le funzioni 03, 06. La finestra di dialogo Options (menu Settings) permette di consentire o annullare l utilizzo di funzioni aggiuntive 16, 22, 23 per l Holding register. Se si annulla l utilizzo di una di queste funzioni, Mobdus Reader, in modalità simulatore, restituirà Exeption 1 (Illegal Function) a qualsiasi richiesta facente uso di tale funzione. - 24 -

Elemento Funzioni principali * Funzioni aggiuntive Coil 01 Read coils 15 Read multiple coils Discrete input 02 Read discrete inputs - Holding register 03 Read holding registers 06 Write single register Input register 04 Read input registers - *Deve essere specificato almeno un elemento. 4.5. Esempi di formati. 16 Write multiple registers 22 Write mask register 23 Read/write registers La formattazione permette di visualizzare i numeri nella maniera più comoda. Consente di evitare numeri con troppe cifre dopo la virgola decimale. 4.5.1. Tipi numerici Numero Formato Visualizzazione 12345 ### ##0 12 345 12345 0 000 000 0 012 345 123.45678 # ##0.000 123.457 123.45678 0.00 E+00 1.23 E+02 12 +## 000 + 012 0.45678.000 000 000.456 780 000 12345 hh:mm:ss 03:25:45 Se nel campo dati ci sono alcuni elementi discreti, la formattazione permette di separarli visivamente tra di loro. 4.5.2. Tipi discreti Bit Formato Visualizzazione 11110000 0000 0000 1111 0000 11110000 0000 0 0 0 0 0000 0 0 0 0 11110000 0 11110000 11110000 0 0 1111000 0 11110000 000 00 000 111 10 000 4.5.3. Predefinito per tipi numerici Tipo Formato integer ## ##0-25 -

long # ### ### ##0 byte ##0 float 0.00 double 0.000 E+00 4.5.4. Predefinito per tipi discreti Tipo single (1) 0 multiple 2 00 multiple 3 000 multiple 4 0000 multiple 5 0 0000 Formato multiple 9 0 0000 0000 multiple 16 0000 0000 0000 0000-26 -