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 11:56] – [Read Input Register (type = 4)] qem207software:devices:modbus [2015/09/16 16:59] – [5.10.4. Stati - Modbus Master] qem207
Linea 29: Linea 29:
  
  
-===== - Installazione ===== 
-FIXME 
  
-==== - Dichiarazione device nel file di configurazione (.CNF) ====+ 
 +===== - Dichiarazione device nella unit di configurazione =====
  
 Dichiarazione del device utilizzato (device interno): nome del device assegnato, MODBUS, posizione dello slot e numero Dichiarazione del device utilizzato (device interno): nome del device assegnato, MODBUS, posizione dello slot e numero
Linea 148: Linea 147:
  
  
-===== - Parte 1 : Modbus Master ===== +===== - Descrizione funzionamento come master =====
-FIXME+
 Il device MODBUS può utilizzare una porta seriale o TCPIP per comunicare in modalità master (parametro //mode// = 0). Esso da la Il device MODBUS può utilizzare una porta seriale o TCPIP per comunicare in modalità master (parametro //mode// = 0). Esso da la
 possibilità (tramite parametri, stati e comandi) a tutti gli strumenti di poter colloquiare con qualsiasi apparecchiatura utilizzante possibilità (tramite parametri, stati e comandi) a tutti gli strumenti di poter colloquiare con qualsiasi apparecchiatura utilizzante
Linea 229: Linea 227:
 ==== - Richieste di scrittura ==== ==== - Richieste di scrittura ====
  
-=== Force coil (type = 5) ===+=== Force coil ===
 Funzione di scrittura bit. Si vogliono scrivere (forzare) i bit di un certo slave (//idcard//). Viene impostato il parametro //type// = Funzione di scrittura bit. Si vogliono scrivere (forzare) i bit di un certo slave (//idcard//). Viene impostato il parametro //type// =
 5.\\ Bisogna impostare addr per indicare l’indirizzo del bit nello slave in cui si intende scrivere. Bisogna impostare tabreg 5.\\ Bisogna impostare addr per indicare l’indirizzo del bit nello slave in cui si intende scrivere. Bisogna impostare tabreg
 per indicare l’indice del bit nella “tabella dei dati da scrivere” in cui è contenuto il valore da scrivere. per indicare l’indice del bit nella “tabella dei dati da scrivere” in cui è contenuto il valore da scrivere.
  
-=== Force register (type = 6) ===+=== Force register ===
 Funzione di scrittura singola word. Si vuole scrivere (forzare) la word di un certo slave (//idcard//). Viene impostato il parametro Funzione di scrittura singola word. Si vuole scrivere (forzare) la word di un certo slave (//idcard//). Viene impostato il parametro
 //type// = 6.\\ Bisogna impostare addr per indicare l’indirizzo della word nello slave in cui si intende scrivere. Bisogna //type// = 6.\\ Bisogna impostare addr per indicare l’indirizzo della word nello slave in cui si intende scrivere. Bisogna
 impostare tabreg per indicare l’indice della word nella “tabella dei dati da scrivere” in cui è contenuto il valore da scrivere. impostare tabreg per indicare l’indice della word nella “tabella dei dati da scrivere” in cui è contenuto il valore da scrivere.
  
-=== Force multiple coil (type = 15) ===+=== Force multiple coil ===
 Funzione di scrittura bit multipli. Si vogliono scrivere (forzare) i bit di un certo slave (//idcard//). Viene impostato il parametro Funzione di scrittura bit multipli. Si vogliono scrivere (forzare) i bit di un certo slave (//idcard//). Viene impostato il parametro
 //type// = 15.\\ Bisogna impostare addr per indicare l’indirizzo del bit nello slave in cui si intende scrivere. Si deve impostare in //type// = 15.\\ Bisogna impostare addr per indicare l’indirizzo del bit nello slave in cui si intende scrivere. Si deve impostare in
Linea 246: Linea 244:
 (addr + num - 1) <= 512 e (tabreg + num - 1) <= 512 altrimenti la richiesta non potrà essere eseguita (segnalazione mediante wcmd). (addr + num - 1) <= 512 e (tabreg + num - 1) <= 512 altrimenti la richiesta non potrà essere eseguita (segnalazione mediante wcmd).
  
-=== Force multiple register (type = 16) ===+=== Force multiple register ===
 Funzione di scrittura word multiple. Si vogliono scrivere (forzare) le word di un certo slave (//idcard//). Viene impostato il parametro Funzione di scrittura word multiple. Si vogliono scrivere (forzare) le word di un certo slave (//idcard//). Viene impostato il parametro
 //type// = 16.\\ Bisogna impostare addr per indicare l’indirizzo della word nello slave in cui si intende scrivere. Si deve //type// = 16.\\ Bisogna impostare addr per indicare l’indirizzo della word nello slave in cui si intende scrivere. Si deve
Linea 413: Linea 411:
 RW = Read / Write.\\ RW = Read / Write.\\
  
-=== - Parametri - Modbus Master ===+=== - 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.\\ **0** = master.                                                                                                               | | mode         | B  | R  | R/W  | -           | **Mode**\\ (0 ÷ 2)\\ Definisce se la scheda deve funzionare come master o come slave.\\ **0** = master.                                                                                                               |
Linea 444: Linea 442:
  
  
-=== - Variabili - Modbus Master ===+=== - Variabili ===
 ^ Nome   ^ D  ^ R  ^ A    ^ Condizioni  ^ Descrizione                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ^ ^ Nome   ^ D  ^ R  ^ A    ^ Condizioni  ^ Descrizione                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ^
 | 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 //st_sended//. I valori da 1 a 49 sono quelli inviati dallo slave. I valori superiori a 50 sono generati internamente dal master. I primi 8 valori sono normalizzati nel protocollo e sono:\\ **0** = comunicazione avvenuta senza errori,\\ **1** = ILLEGAL FUNCTION,\\ **2** = ILLEGAL DATA ADDRESS,\\ **3** = ILLEGAL DATA VALUE,\\ **4** = SLAVE DEVICE FAILURE,\\ **5** = ACKNOWLEDGE,\\ **6** = SLAVE DEVICE BUSY,\\ **7** = NEGATIVE ACKNOWLEDGE,\\ **8** = MEMORY PARITY ERROR,\\ **5**0 = UNKNOWN RECEIVED ERROR lo slave ha risposto con un codice superiore a 49,\\ **5**1 = TIMEOUT lo slave non ha risposto entro il tempo programmato nel parametro tout,\\ **52** = INVALID ANSWER,\\ **52** = INVALID FUNCTION ANSWER - Tipo funzione non supportata,\\ **53** = CHECKSUM ANSWER - Il checksum ricavato non corrisponde,\\ **54** = TRUNCATED ANSWER - Messaggio troppo corto,\\ **55** = INVALID ID ANSWER - Id slave non corrispondente,\\ **56** =  INVALID_MBAP_TRANSACTION_ID - modbus TCPIP, //transaction ID// non corretto,\\ **57** = INVALID_MBAP_PROTOCOL_ID - modbus TCPIP, //protocol ID// diverso da zero,\\ **70** = TIMEOUT SYNCHRONIZED lo slave QEM non hanno eseguito il comando RECEIVED entro il tempo programmato nel parametro toutsyc.\\ In modalità slave il parametro non viene mai aggiornato.  | | 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 //st_sended//. I valori da 1 a 49 sono quelli inviati dallo slave. I valori superiori a 50 sono generati internamente dal master. I primi 8 valori sono normalizzati nel protocollo e sono:\\ **0** = comunicazione avvenuta senza errori,\\ **1** = ILLEGAL FUNCTION,\\ **2** = ILLEGAL DATA ADDRESS,\\ **3** = ILLEGAL DATA VALUE,\\ **4** = SLAVE DEVICE FAILURE,\\ **5** = ACKNOWLEDGE,\\ **6** = SLAVE DEVICE BUSY,\\ **7** = NEGATIVE ACKNOWLEDGE,\\ **8** = MEMORY PARITY ERROR,\\ **5**0 = UNKNOWN RECEIVED ERROR lo slave ha risposto con un codice superiore a 49,\\ **5**1 = TIMEOUT lo slave non ha risposto entro il tempo programmato nel parametro tout,\\ **52** = INVALID ANSWER,\\ **52** = INVALID FUNCTION ANSWER - Tipo funzione non supportata,\\ **53** = CHECKSUM ANSWER - Il checksum ricavato non corrisponde,\\ **54** = TRUNCATED ANSWER - Messaggio troppo corto,\\ **55** = INVALID ID ANSWER - Id slave non corrispondente,\\ **56** =  INVALID_MBAP_TRANSACTION_ID - modbus TCPIP, //transaction ID// non corretto,\\ **57** = INVALID_MBAP_PROTOCOL_ID - modbus TCPIP, //protocol ID// diverso da zero,\\ **70** = TIMEOUT SYNCHRONIZED lo slave QEM non hanno eseguito il comando RECEIVED entro il tempo programmato nel parametro toutsyc.\\ In modalità slave il parametro non viene mai aggiornato.  |
Linea 451: Linea 449:
  
  
-=== - 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 473: Linea 471:
  
  
-===== - Parte 2 : Modbus Slave ===== +===== - Descrizione funzionamento come slave =====
-FIXME+
 ==== - Modo di funzionamento SLAVE ==== ==== - Modo di funzionamento SLAVE ====
  
  • Ultima modifica: 2020/07/13 15:15