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 | ||
software:devices:modbus [2015/09/16 16:54] – [6. Parte 2 : Modbus Slave] qem207 | software:devices:modbus [2020/07/13 15:15] (versione attuale) – qem103 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
====== DEVICE MODBUS ====== | ====== DEVICE MODBUS ====== | ||
- | ===== - Introduzione ===== | + | ====== - Introduzione |
Il protocollo MODBUS< | Il protocollo MODBUS< | ||
Linea 15: | Linea 15: | ||
Il presente manuale si suddivide in due parti:\\ | Il presente manuale si suddivide in due parti:\\ | ||
- | Parte I - Modbus Master: utilizzo del device | + | Parte I - Descrizione funzionamento |
- | Parte II - Modbus Slave: utilizzo del device | + | Parte II - Descrizione funzionamento |
Linea 277: | Linea 277: | ||
tcpip_port= 502 ; number of tcpip port (default 502) | tcpip_port= 502 ; number of tcpip port (default 502) | ||
- | modbus.stopb = tcpip_port | + | modbus.stopb = (tcpip_port |
- | modbus.par | + | modbus.par = tcpip_port ANDB & |
modbus.OPENCOM | modbus.OPENCOM | ||
Linea 411: | Linea 411: | ||
RW = Read / Write.\\ | RW = Read / Write.\\ | ||
- | === - Parametri | + | === - Parametri === |
- | FIXME | + | |
^ Nome ^ D ^ R ^ A ^ Condizioni | ^ Nome ^ D ^ R ^ A ^ Condizioni | ||
| mode | B | R | R/W | - | **Mode**\\ (0 ÷ 2)\\ Definisce se la scheda deve funzionare come master o come slave.\\ **0** = master. | | mode | B | R | R/W | - | **Mode**\\ (0 ÷ 2)\\ Definisce se la scheda deve funzionare come master o come slave.\\ **0** = master. | ||
Linea 434: | Linea 433: | ||
| olong1÷16 | | olong1÷16 | ||
+ | La possibilità di comunicare con il protocollo TCPIP è stata sviluppata in un tempo successivo rispetto alla nascita del device MODBUS. Per questo modivo l' | ||
Per configurare il numero della porta TCPIP è necessario andare a scrivere sui parametri //stopb// e //par//. Rispettivamente : | Per configurare il numero della porta TCPIP è necessario andare a scrivere sui parametri //stopb// e //par//. Rispettivamente : | ||
Linea 443: | Linea 443: | ||
- | === - Variabili | + | === - Variabili === |
^ Nome ^ D ^ R ^ A ^ Condizioni | ^ Nome ^ D ^ R ^ A ^ Condizioni | ||
| err | B | 0 | R | - | **Errors**\\ Indica se sono stati riscontrati errori nel protocollo.\\ In modalità master il parametro viene aggiornato in coincidenza dell’attivazione dello stato // | | err | B | 0 | R | - | **Errors**\\ Indica se sono stati riscontrati errori nel protocollo.\\ In modalità master il parametro viene aggiornato in coincidenza dell’attivazione dello stato // | ||
Linea 450: | Linea 450: | ||
- | === - Stati - Modbus Master | + | === - Stati === |
^Nome^D^R^A^Condizioni^Descrizione^ | ^Nome^D^R^A^Condizioni^Descrizione^ | ||
|st_sended|F|0|R|-|**Sended**\\ Stato utilizzato solo in modalità master. L’attivazione indica il completamento della trasmissione di un messaggio. Lo stato viene resettato con i comandi SEND o SENDSYC.| | |st_sended|F|0|R|-|**Sended**\\ Stato utilizzato solo in modalità master. L’attivazione indica il completamento della trasmissione di un messaggio. Lo stato viene resettato con i comandi SEND o SENDSYC.| | ||
Linea 457: | Linea 457: | ||
|wcmd|F|0|R|-|**Warning Command**\\ Questo bit segnala che è non è stato eseguito un comando perché mancano le condizioni necessarie.| | |wcmd|F|0|R|-|**Warning Command**\\ Questo bit segnala che è non è stato eseguito un comando perché mancano le condizioni necessarie.| | ||
- | === - Comandi | + | === - Comandi === |
I comandi a disposizione per gestire il device sono elencati sotto in ordine di priorità decrescente.\\ | I comandi a disposizione per gestire il device sono elencati sotto in ordine di priorità decrescente.\\ | ||
Il device esegue tutti i comandi ricevuti entro lo stesso tempo di campionamento iniziando da quello con la priorità maggiore.\\ | Il device esegue tutti i comandi ricevuti entro lo stesso tempo di campionamento iniziando da quello con la priorità maggiore.\\ | ||
Linea 499: | Linea 499: | ||
tcpip_port= 502 ; number of tcpip port (default 502) | tcpip_port= 502 ; number of tcpip port (default 502) | ||
- | ; maste | ||
- | modbus.stopb = tcpip_port / & | ||
- | modbus.par | ||
- | ; slave | ||
modbus.stopb = (tcpip_port ANDB & | modbus.stopb = (tcpip_port ANDB & | ||
- | modbus.par = tcpip_port ANDB &H00FF | + | modbus.par = tcpip_port ANDB &H000000FF |
modbus.OPENCOM | modbus.OPENCOM | ||
Linea 513: | Linea 509: | ||
ENDIF | ENDIF | ||
</ | </ | ||
- | FIXME | ||
Le operazioni che spettano all’applicativo QCL sono essenzialmente due: | Le operazioni che spettano all’applicativo QCL sono essenzialmente due: | ||
Linea 594: | Linea 589: | ||
RW = Read / Write. | RW = Read / Write. | ||
- | === - Parametri | + | === - Parametri === |
^ Nome ^ D ^ R ^ A ^ Condizioni | ^ Nome ^ D ^ R ^ A ^ Condizioni | ||
| mode | B | R | R/W | - | **Mode**\\ (0 ÷ 2)\\ Definisce se la scheda deve funzionare come master o come slave.\\ **1** = slave con area di scambio dati fissa;\\ **2** = slave senza area di scambio dati fissa: ad ogni scrittura o lettura eseguita dal master viene messi a 1 il flag st_msgrx.\\ Contemporaneamente i parametri //type//, //addr// e //num// indicano le caratteristiche del messaggio ricevuto.\\ - **Type** indica il tipo di funzione che vuole fare ill master (lettura o scrittura), | | mode | B | R | R/W | - | **Mode**\\ (0 ÷ 2)\\ Definisce se la scheda deve funzionare come master o come slave.\\ **1** = slave con area di scambio dati fissa;\\ **2** = slave senza area di scambio dati fissa: ad ogni scrittura o lettura eseguita dal master viene messi a 1 il flag st_msgrx.\\ Contemporaneamente i parametri //type//, //addr// e //num// indicano le caratteristiche del messaggio ricevuto.\\ - **Type** indica il tipo di funzione che vuole fare ill master (lettura o scrittura), | ||
Linea 614: | Linea 609: | ||
- | === - Variabili | + | === - Variabili === |
^Nome^D^R^A^Condizioni^ Descrizione^ | ^Nome^D^R^A^Condizioni^ Descrizione^ | ||
|serr|B|0|R/ | |serr|B|0|R/ | ||
- | === - Stati - Modbus Slave === | + | === - Stati === |
^Nome^D^R^A^Condizioni^ Descrizione^ | ^Nome^D^R^A^Condizioni^ Descrizione^ | ||
|st_msgrx|F|0|R||-|**Message received**\\ Stato utilizzato solo in modalitá slave. Indica che un messagio del master ha eseguito una scrittura nell’area scambio dati QCL. Lo stato viene resettato con il comando RECEIVED.| | |st_msgrx|F|0|R||-|**Message received**\\ Stato utilizzato solo in modalitá slave. Indica che un messagio del master ha eseguito una scrittura nell’area scambio dati QCL. Lo stato viene resettato con il comando RECEIVED.| | ||
Linea 625: | Linea 620: | ||
|wcmd|F|0|R|-|**Warning Command**\\ Questo bit segnala che è non è stato eseguito un comando perchè mancano le condizioni necessarie.| | |wcmd|F|0|R|-|**Warning Command**\\ Questo bit segnala che è non è stato eseguito un comando perchè mancano le condizioni necessarie.| | ||
- | === - Comandi | + | === - Comandi === |
I comandi a disposizione per gestire il device sono elencati sotto in ordine di priorità decrescente.\\ | I comandi a disposizione per gestire il device sono elencati sotto in ordine di priorità decrescente.\\ | ||
Il device esegue tutti i comandi ricevuti entro lo stesso tempo di campionamento iniziando da quello con la priorità maggiore.\\ | Il device esegue tutti i comandi ricevuti entro lo stesso tempo di campionamento iniziando da quello con la priorità maggiore.\\ |