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/16 09:12] – [6.1. Modo di funzionamento SLAVE] qem207 | software:devices:modbus [2015/09/16 10:06] – [6.1.1. Impostazioni modbus e apertura del canale di comunicazione di tipo seriale] qem207 | ||
---|---|---|---|
Linea 487: | Linea 487: | ||
* processare i parametri tipo iwordNN, ilongNN (che sono stati scritti dal master) | * processare i parametri tipo iwordNN, ilongNN (che sono stati scritti dal master) | ||
+ | === - Impostazioni modbus e apertura del canale di comunicazione di tipo seriale === | ||
+ | <code QCL> | ||
+ | modbus.mode = 1 ; modbus slave | ||
+ | modbus.prot = 1 ; RTU | ||
+ | modbus.brate = 57600 ; baudrate | ||
+ | modbus.stopb = 1 ; stop bits | ||
+ | modbus.par = 0 ; parity | ||
+ | modbus.idcard = 1 ; slave id | ||
+ | |||
+ | modbus.OPENCOM | ||
+ | tm_opencom = 100 ; timeout for OPENCOM command | ||
+ | WAIT modbus.st_opencom OR tm_opencom | ||
+ | IF NOT modbus.st_opencom | ||
+ | OpenComError = 1 ; com not opened | ||
+ | ENDIF | ||
+ | </ | ||
=== - Aggiornamento dei parametri tipo owordNN === | === - Aggiornamento dei parametri tipo owordNN === | ||
Per aggiornare i parametri tipo owordNN il QCL deve scrivere i valori nei parametri quindi inviare il comando VALIDATE. | Per aggiornare i parametri tipo owordNN il QCL deve scrivere i valori nei parametri quindi inviare il comando VALIDATE. | ||
Linea 496: | Linea 512: | ||
== Esempio: == | == Esempio: == | ||
<code QCL> | <code QCL> | ||
- | MAIN: | + | modbus.olong1 = anpos.speed |
- | modbus:olong1 = anpos:speed | + | modbus.oword1 = npezzi |
- | | + | modbus.oword2 = npezzitot |
- | | + | modbus.oword3 = anpos.dir |
- | | + | modbus.olong2 = anpos.posit |
- | | + | modbus.VALIDATE |
- | | + | |
- | WAIT 1 | + | |
- | JUMP MAIN | + | |
</ | </ | ||
Linea 515: | Linea 528: | ||
Esempio: | Esempio: | ||
<code QCL> | <code QCL> | ||
- | MAIN: | + | WAIT modbus.st_msgrx |
- | WAIT modbus:st_msgrx | + | anpos.speed = modbus.ilong1 |
- | | + | anpos:posit = modbus.ilong2 |
- | | + | npezzi |
- | switch | + | RECEIVED modbus |
- | | + | |
- | WAIT 1 | + | |
- | JUMP MAIN | + | |
</ | </ | ||
Naturalmente non esiste nessun controllo per evitare che durante la lettura dei parametri //iwordNN// il master erroneamente | Naturalmente non esiste nessun controllo per evitare che durante la lettura dei parametri //iwordNN// il master erroneamente |