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 17:59] – [Force multiple coil] qem103 | en:software:devices:modbus [2016/12/22 16:30] – [5.10. Comandi e parametri] qem103 | ||
---|---|---|---|
Line 206: | Line 206: | ||
=== Force multiple register === | === Force multiple register === | ||
- | Funzione di scrittura word multiple. Si vogliono scrivere (forzare) le word di un certo slave (// | ||
- | //type// = 16.\\ Bisogna impostare addr per indicare l’indirizzo della word nello slave in cui si intende scrivere. Si deve | ||
- | impostare in num il numero di word da scrivere. Bisogna impostare tabreg per indicare l’indice della word nella “tabella | ||
- | dei dati da scrivere” da cui iniziano i valori da scrivere. Si raccomanda di soddisfare sempre le seguenti due condizioni: | ||
- | (addr + num - 1) <= 32 e (tabreg + num - 1) <= 32 altrimenti la richiesta non potrà essere eseguita (segnalazione mediante wcmd). | ||
- | ==== - Esempi ==== | + | Multiples word write function. For write (forzare) the word of a slave (// |
+ | (addr + num - 1) <= 32 e (tabreg + num - 1) <= 32 otherwise the request will fail (reporting by wcmd). | ||
- | 1) Impostazioni modbus e apertura del canale di comunicazione di tipo seriale | + | ==== - Examples ==== |
+ | |||
+ | 1) Modbus settings and opening of serial communication | ||
<code QCL> | <code QCL> | ||
modbus.mode = 0 ; modbus master | modbus.mode = 0 ; modbus master | ||
Line 249: | Line 247: | ||
</ | </ | ||
- | 3) Lettura del registro | + | 3) Reading the registry |
<code QCL> | <code QCL> | ||
modbus.idcard = 67 | modbus.idcard = 67 | ||
Line 259: | Line 257: | ||
WAIT modbus.st_sended | WAIT modbus.st_sended | ||
IF (modbus.err) | IF (modbus.err) | ||
- | CALL ErroreModbus | + | CALL ErrorModbus |
ENDIF | ENDIF | ||
- | slVelocita | + | slSpeed |
</ | </ | ||
- | 4) Lettura dei holding register | + | 4) Reading of the holding register |
- | Siccome l’area di scambio dati QCL non supporta l’indirizzo | + | The area of QCL data exchange does not support the address |
<code QCL> | <code QCL> | ||
modbus.idcard = 8 | modbus.idcard = 8 | ||
Line 275: | Line 273: | ||
WAIT modbus.st_sended | WAIT modbus.st_sended | ||
IF (modbus.err) | IF (modbus.err) | ||
- | CALL ErroreModbus | + | CALL ErrorModbus |
ENDIF | ENDIF | ||
| | ||
swTemp1 = modbus.iword10 | swTemp1 = modbus.iword10 | ||
- | slVelocita | + | slSpeed |
slPosiz = modbus.ilong7 | slPosiz = modbus.ilong7 | ||
swTemp1 = modbus.iword15 | swTemp1 = modbus.iword15 | ||
</ | </ | ||
- | ==== - Schema a blocchi | + | ==== - Block diagrams |
{{: | {{: | ||
==== - Broadcast ==== | ==== - Broadcast ==== | ||
- | Il Broadcast è un messaggio speciale che viene inviato dal Master e viene ricevuto contemporaneamente da tutti gli slave | ||
- | connessi. La funzionalitá broadcast (idcard = 0) è supportata solamente in modo master e se viene usato un messaggio | ||
- | con type = 5, 6, 15 e 16 (solo scrittura). In questa modalità lo stato st_sended viene attivato appena terminata la trasmissione | ||
- | e non alla ricezione della conferma dallo slave. Infatti non esiste nessuna risposta degli slave per questo tipo di | ||
- | messaggi. Non è possibile utilizzare il comando SENDSYC. | ||
- | ==== - Identificazione degli Slave ==== | + | The Broadcast is a special message that is sent by the Master and is received simultaneously from all connected slaves. The broadcast function (idcard = 0) is supported only in master mode and if you use a message with type = 5, 6, 15 and 16 (write only). In this mode the st_sended state is activated once ended the transmission and not on receipt of confirmation by the slave. There isn't answer on the slaves to such messages. You cannot use the SENDSYC command. |
- | La scheda quando funziona | + | |
- | di tipo QEM. In caso affermativo determina anche il modello di slave connesso. Questo permette di realizzare una diagnostica | + | ==== - Slaves indentification |
- | sulla corretta configurazione della rete. Non è possibile estendere questo controllo | + | |
- | perché il protocollo non prevede una modalità | + | When the card works in master mode allows, with specila command, tell if the slave connected is a QEM. If so also determines the pattern of slave connected. This allows a diagnostic on the correct network configuration. You cannot extend this control to all types of existing slaves because the protocol does not provide |
- | Il comando | + | The READSTYPE |
- | slave una richiesta modbus | + | For the MODBUS |
- | letto nel parametro | + | |
- | slave è connesso ma non è possibile identificarlo.\\ | + | |
- | Per il device | + | |
- | senso vedere il manuale | + | |
- | Esempio d' | + | Example of slave identification |
<code QCL> | <code QCL> | ||
modbus: | modbus: | ||
Line 320: | Line 310: | ||
ENDIF | ENDIF | ||
</ | </ | ||
- | ==== - Estensione del protocollo | + | ==== - Protocol extension |
- | Il protocollo di comunicazione | + | The modbus standard |
* INPUT STATUS, | * INPUT STATUS, | ||
* COIL STATUS, | * COIL STATUS, | ||
* INPUT REGISTER, | * INPUT REGISTER, | ||
* HOLDING REGISTER. | * HOLDING REGISTER. | ||
- | Questi | + | These 4 types treat signals as Digital Inputs, Digital Outputs, Analog Inputs, and Analog Outputs. |
- | (sia INPUT REGISTERS | + | To allow support for datatypes larger than 16 bit, has been designed an extension to the protocol to treat long 32 bit dimension values. Implementing this feature preserves the formatting of the message |
- | (esempio | + | |
- | Per permettere di suppportare tipi di dato di dimensione maggiore di 16 bit, è stata progettata una estensione al protocollo | + | |
- | per trattare valori di dimensione | + | |
- | messaggio | + | |
- | questa estensione è attiva | + | |
- | per ogni richiesta di registro. Se l’indirizzo è superiore a 5000 verrà risposto con valore | + | |
- | rimane invariato con risposta a 16 bit. | + | |
- | ==== - Comandi e parametri | + | ==== - Commands and parameters |
=== - Simbologia adottata === | === - Simbologia adottata === |