Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
en:software:devices:modbus [2016/12/21 15:01] – [5.1. Input e coil Data Access] qem103 | en:software:devices:modbus [2016/12/21 17:22] – [Read Holding Register] qem103 | ||
---|---|---|---|
Line 146: | Line 146: | ||
The // | The // | ||
- | ==== - Modo di funzionamento | + | ==== - Mode of MASTER |
- | La modalità | + | The master mode is set with the mode parameter |
- | del QCL e non automaticamente. Per “formattare” la stringa del messaggio | + | Using the two commands |
- | Mediante i due comandi | + | |
- | permettono una verifica sull’operazione eseguita. Vediamo | + | |
- | === - Parametri per formattare il messaggio: === | + | === - Parameters for formatting the message: === |
- | **type** = tipo di richiesta che si vuole processare (lettura o scrittura di word o di bit).\\ | + | |
- | **idcard** = indirizzo dell’unità slave verso cui si vuole inviare la richiesta.\\ | + | |
- | **addr** = indice da cui iniziare a leggere o da cui iniziare a scrivere nello slave in questione.\\ | + | |
- | **tabreg** = per le operazioni di lettura (type = 1, 2, 3, 4), questo parametro indica la posizione nella “tabella dei dati letti” dove verrà memorizzato il dato letto sullo slave. Per le operazioni di scrittura (type = 5, 6, 15, 16), questo parametro indica da posizione nella “tabella dei dati da scrivere” dove si trova il dato da scrivere sullo slave. Sono previsti valori tra 1 e 512 per valori del parametro type = 1, 2, 5, 15 (scrittura e lettura di bit), mentre per valori type = 3, 4, 6, 16 (scrittura e lettura di word) i valori previsti sono tra 1 e 32.\\ | + | |
- | **num** = numero di valori che si intendono leggere o scrivere (se il tipo richiesta type lo prevede). Sono previsti valori tra 1 e 128 per valori del parametro type = 1, 2, (lettura di bit), mentre per valori type = 3, 4, 16 (scrittura multipla e lettura di word) i valori previsti sono tra 1 e 32. | + | |
- | === - Comandi per inviare il messaggio: | + | **type** |
- | SEND invia il messaggio di richiesta allo slave.\\ | + | **idcard** |
- | SENDSYC invia il messaggio di richiesta ad uno slave QEM di tipo MODBUS e segnala l’operazione conclusa | + | **addr** |
+ | **tabreg** | ||
+ | **num** = number of values that are read or write (if the request type so provides). Are accepted values are between 1 and 128 for values of type parameter = 1, 2, (reading of bits), while for type value = 3, 4, 16 (multiple word reading and writing) the accepted value are between 1 and 32. | ||
- | === - Variabili di Stato per diagnostica operazione: === | + | === - Commands to send the message: === |
- | Quando l’operazione di trasmissione messaggio è conclusa, viene impostata a 1 la variabile di stato st_sended. Se è | + | |
- | stato utilizzato il comando SEND lo stato viene posto a 1 quando il master riceve la conferma del messaggio inviato. Se | + | |
- | invece è stato utilizzato nel master il comando SENDSYC allora questo stato verrà impostato a 1 quando lo slave QEM | + | |
- | avrà eseguito il comando RECEIVED. In caso di errore, invece, questo stato viene posto comunque a 1 (dopo il tempo | + | |
- | // | + | |
- | Il comando SENDSYC si rende necessario quando si vuole sincronizzare la scrittura del master di un pacchetto dati con la lettura degli stessi dati da parte dello slave (può essere usato quando sia master che slave sono Qmove). | + | |
- | ==== - Richieste di lettura | + | SEND sends the request message to the slave.\\ |
+ | SENDSYC sends the request message to a QEM slave of MODBUS type and reports the operation concluded (// | ||
+ | |||
+ | === - State variables for diagnostic operation: === | ||
+ | |||
+ | When ended the message send operation, the status st_sended variable is set to 1. If you used the SEND command the state is set to 1 when the master receive the confirmation of the message being sent. If you have used the SENDSYC command in the master then this status will be set to 1 when the slave QEM will execute the RECEIVED command. In case of error, This status is still in set to 1 (After the //toutsyc// time) but the err parameter indicates the cause of the error (see the description of this parameter for details).\\ | ||
+ | The SENDSYC coomand it becomes necessary when you want to synchronize master data packet writing by reading the same data from the slave (can be used when both master and slave are Qmove). | ||
+ | |||
+ | ==== - Read request | ||
=== Read Coil === | === Read Coil === | ||
- | Funzione di lettura | + | |
- | impostare | + | Bit read function. You want to read the bits of a slave (// |
- | numero di bit che si intendono leggere. Bisogna impostare | + | (//addr// + //num// - 1) <= 512 e (//tabreg// + //num// - 1) <= 512 otherwise the request will fail (reporting by //wcmd//). |
- | master | + | |
- | soddisfare sempre le seguenti due condizioni:\\ | + | |
- | (//addr// + //num// - 1) <= 512 e (//tabreg// + //num// - 1) <= 512 altrimenti la richiesta non potrà essere eseguita | + | |
=== Read Input === | === Read Input === | ||
- | Funzione di lettura a bit. Si vogliono leggere i bit di un certo slave (// | + | |
+ | Bit read function. To read the bits of a slave (// | ||
=== Read Holding Register === | === Read Holding Register === | ||
- | Funzione di lettura a word. Si vogliono leggere le word di un certo slave (idcard). Viene impostato il parametro //type// = 3.\\ | + | |
+ | Word read function. Si vogliono leggere le word di un certo slave (idcard). Viene impostato il parametro //type// = 3.\\ | ||
Bisogna impostare addr per indicare l’indirizzo della word nello slave da cui si intende iniziare a leggere. Il parametro num | Bisogna impostare addr per indicare l’indirizzo della word nello slave da cui si intende iniziare a leggere. Il parametro num | ||
indica il numero di word che si intendono leggere. Bisogna impostare tabreg per indicare l’indice della word nella “tabella | indica il numero di word che si intendono leggere. Bisogna impostare tabreg per indicare l’indice della word nella “tabella |