software:devices:modbus

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

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 16:59] – [5.10.4. Stati - Modbus Master] qem207software:devices:modbus [2015/09/16 17:04] – [5.5. Esempi] qem207
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 &H00000100 +modbus.stopb = (tcpip_port ANDB &H0000FF00) / 256 
-modbus.par   = tcpip_port ANDB &H000000FF+modbus.par = tcpip_port ANDB &H000000FF
  
 modbus.OPENCOM modbus.OPENCOM
Linea 456: Linea 456:
 |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 - Modbus Master ===+=== - 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 498: Linea 498:
  
 tcpip_port= 502                             ; number of tcpip port (default 502) tcpip_port= 502                             ; number of tcpip port (default 502)
-; maste 
-modbus.stopb = tcpip_port / &H00000100 
-modbus.par   = tcpip_port ANDB &H000000FF 
-; slave 
 modbus.stopb = (tcpip_port ANDB &H0000FF00) / 256 modbus.stopb = (tcpip_port ANDB &H0000FF00) / 256
 modbus.par = tcpip_port ANDB &H00FF modbus.par = tcpip_port ANDB &H00FF
Linea 512: Linea 508:
 ENDIF ENDIF
 </code> </code>
-FIXME 
  
 Le operazioni che spettano all’applicativo QCL sono essenzialmente due: Le operazioni che spettano all’applicativo QCL sono essenzialmente due:
Linea 593: Linea 588:
 RW = Read / Write. RW = Read / Write.
  
-=== - Parametri - Modbus Slave ===+=== - Parametri ===
 ^ Nome         ^ D  ^ R  ^ A    ^ Condizioni  ^ Descrizione                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ^ ^ Nome         ^ D  ^ R  ^ A    ^ Condizioni  ^ Descrizione                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ^
 | 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),\\ - **addr** indica l'indirizzo dell'inizio del blocco di dati scritti o letti,\\ - **num** indica il numero di dati letti o scritti (a bit o a byte a seconda del valore di type).\\ Il device controllerà, in ricezione, solamente num (size di messaggio) che non sia superiore a 32word ma non più l'indirizzo che può essere ora qualsiasi.\\ Se è una scrittura (lo si capisce dal valore di type se è 5,6,15,16) vengono riportati i dati nelle variabili di scambio input (sempre a partire dalla prima word) ed il device attende il comando RECEIVED.\\ Se è una lettura il device attende che il QCL depositi i dati nelle word variabili di scambio output ed attende il comando VALIDATE.  | | 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),\\ - **addr** indica l'indirizzo dell'inizio del blocco di dati scritti o letti,\\ - **num** indica il numero di dati letti o scritti (a bit o a byte a seconda del valore di type).\\ Il device controllerà, in ricezione, solamente num (size di messaggio) che non sia superiore a 32word ma non più l'indirizzo che può essere ora qualsiasi.\\ Se è una scrittura (lo si capisce dal valore di type se è 5,6,15,16) vengono riportati i dati nelle variabili di scambio input (sempre a partire dalla prima word) ed il device attende il comando RECEIVED.\\ Se è una lettura il device attende che il QCL depositi i dati nelle word variabili di scambio output ed attende il comando VALIDATE.  |
Linea 613: Linea 608:
  
  
-=== - Variabili - Modbus Slave ===+=== - Variabili ===
 ^Nome^D^R^A^Condizioni^ Descrizione^ ^Nome^D^R^A^Condizioni^ Descrizione^
 |serr|B|0|R/W|-|**Serial Errors**\\ Indica se sono stati riscontrati errori nella comunicazione seriale.\\ Il parametro viene aggiornato ad ogni errore rilevato. Il valore permane fino ad un successivo errore o ad una scrittura sullo stesso con il QCL.\\ **0** = nessun errore,\\ **1** = parity error,\\ **2** = framing error,\\ **3** = overrun error.| |serr|B|0|R/W|-|**Serial Errors**\\ Indica se sono stati riscontrati errori nella comunicazione seriale.\\ Il parametro viene aggiornato ad ogni errore rilevato. Il valore permane fino ad un successivo errore o ad una scrittura sullo stesso con il QCL.\\ **0** = nessun errore,\\ **1** = parity error,\\ **2** = framing error,\\ **3** = overrun error.|
  
-=== - 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 624: Linea 619:
 |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 - Modbus Slave ===+=== - 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.\\
  • Ultima modifica: 2020/07/13 15:15