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 15:51] – [5.5. Examples] 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 |