Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente Prossima revisioneEntrambe le parti successive la revisione | ||
software:devices:modbus [2015/09/15 14:39] – [3.1.1. Esempio] documentazione | software:devices:modbus [2015/09/15 15:08] – [5.5. Esempi] qem207 | ||
---|---|---|---|
Linea 59: | Linea 59: | ||
INTDEVICE | INTDEVICE | ||
modbus | modbus | ||
- | ... | ||
</ | </ | ||
Linea 192: | Linea 191: | ||
**addr** = indice da cui iniziare a leggere o da cui iniziare a scrivere nello slave in questione. 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.\\ | **addr** = indice da cui iniziare a leggere o da cui iniziare a scrivere nello slave in questione. 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.\\ | ||
**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.\\ | **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 512 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. | + | **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: === | === - Comandi per inviare il messaggio: === | ||
Linea 263: | Linea 262: | ||
==== - Esempi ==== | ==== - Esempi ==== | ||
- | 1) Lettura del registro input nr.7 dello slave id 67 | + | 3) Lettura del registro input nr.7 dello slave id 67 |
<code QCL> | <code QCL> | ||
- | MAIN: | + | modbus.idcard = 67 |
- | modbus:idcard = 67 | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | SEND modbus | + | WAIT modbus.st_sended |
- | WAIT modbus:st_sended | + | IF (modbus.err) |
- | IF (modbus:err) | + | |
CALL ErroreModbus | CALL ErroreModbus | ||
- | |||
ENDIF | ENDIF | ||
- | | + | |
- | + | ||
- | WAIT 1 | + | |
- | JUMP MAIN | + | |
</ | </ | ||
- | 2) Lettura dei holding register dal nr.600 al nr.606 dello slave id 8\\ | + | 4) Lettura dei holding register dal nr.600 al nr.606 dello slave id 8\\ |
Siccome l’area di scambio dati QCL non supporta l’indirizzo 600, si utilizza il parametro tabreg per salvare i dati letti all’indirizzo 10 | Siccome l’area di scambio dati QCL non supporta l’indirizzo 600, si utilizza il parametro tabreg per salvare i dati letti all’indirizzo 10 | ||
<code QCL> | <code QCL> | ||
- | MAIN: | + | modbus.idcard = 8 |
- | modbus:idcard = 8 | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | SEND modbus | + | WAIT modbus.st_sended |
- | WAIT modbus:st_sended | + | IF (modbus.err) |
- | IF (modbus:err) | + | |
CALL ErroreModbus | CALL ErroreModbus | ||
ENDIF | ENDIF | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | + | ||
- | WAIT 1 | + | |
- | JUMP MAIN | + | |
</ | </ | ||