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 15:16] – [5.5. Esempi] qem207 | software:devices:modbus [2015/09/15 15:39] – [5.5. Esempi] qem207 | ||
---|---|---|---|
Linea 189: | Linea 189: | ||
**type** = tipo di richiesta che si vuole processare (lettura o scrittura di word o di bit).\\ | **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.\\ | **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. 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.\\ |
**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 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. | **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. | ||
Linea 263: | Linea 263: | ||
1) Impostazioni modbus e apertura del canale di comunicazione di tipo seriale | 1) Impostazioni modbus e apertura del canale di comunicazione di tipo seriale | ||
- | modbus.mode = 0 | + | <code QCL> |
- | modbus.prot = 1 | + | modbus.mode = 0 ; modbus master |
- | modbus.brate = 57600 | + | modbus.prot = 1 ; RTU |
- | modbus.stopb = 1 | + | modbus.brate = 57600 ; baudrate |
- | modbus.par = 0 | + | modbus.stopb = 1 ; stop bits |
- | modbus.tout = 100 | + | modbus.par = 0 ; parity |
+ | modbus.tout = 100 ; timeout | ||
+ | tm_opencom = 2000 ; timeout for OPENCOM command | ||
modbus.OPENCOM | modbus.OPENCOM | ||
+ | WAIT modbus.st_opencom OR tm_opencom | ||
+ | IF NOT modbus.st_opencom | ||
+ | OpenComError = 1 ; com not opened | ||
+ | ENDIF | ||
+ | </ | ||
+ | |||
+ | 2) Impostazioni modbus e apertura del canale di comunicazione di tipo TCPIP | ||
+ | <code QCL> | ||
+ | modbus.mode = 0 ; modbus master | ||
+ | modbus.prot = 2 ; TCPIP | ||
+ | |||
+ | tcpip_port= 502 ; number of tcpip port (default 502) | ||
+ | modbus.brate = & | ||
+ | modbus.stopb = tcpip_port / & | ||
+ | modbus.par | ||
+ | |||
+ | modbus.tout = 100 ; timeout | ||
+ | tm_opencom = 500 ; waiting time to have a correct response | ||
+ | modbus.OPENCOM | ||
+ | WAIT tm_opencom | ||
+ | IF NOT modbus.st_opencom | ||
+ | OpenComError = 1 ; com not opened | ||
+ | ENDIF | ||
+ | </ | ||
3) Lettura del registro input nr.7 dello slave id 67 | 3) Lettura del registro input nr.7 dello slave id 67 | ||
Linea 305: | Linea 331: | ||
swTemp1 = modbus.iword15 | swTemp1 = modbus.iword15 | ||
</ | </ | ||
- | |||
=== - Schema a blocchi === | === - Schema a blocchi === | ||
{{: | {{: |