Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
en:software:devices:modbus [2016/12/22 16:28] – [5.9. Estensione del protocollo] qem103 | en:software:devices:modbus [2016/12/23 16:39] – [6. Descrizione funzionamento come slave] qem103 | ||
---|---|---|---|
Line 320: | Line 320: | ||
To allow support for datatypes larger than 16 bit, has been designed an extension to the protocol to treat long 32 bit dimension values. Implementing this feature preserves the formatting of the message standard modbus it uses the contents of two consecutive addresses to represent a 32 bit value. When this extension is enabled (wider = 1), depending on the address used the slave responds with a 16-bit or 32-bit value for each log request. If the address is greater than 5000 will be returned a 32-bit value, if under the Protocol remains unchanged with response to 16 bits. | To allow support for datatypes larger than 16 bit, has been designed an extension to the protocol to treat long 32 bit dimension values. Implementing this feature preserves the formatting of the message standard modbus it uses the contents of two consecutive addresses to represent a 32 bit value. When this extension is enabled (wider = 1), depending on the address used the slave responds with a 16-bit or 32-bit value for each log request. If the address is greater than 5000 will be returned a 32-bit value, if under the Protocol remains unchanged with response to 16 bits. | ||
- | ==== - Comandi e parametri | + | ==== - Commands and parameters |
- | === - Simbologia adottata | + | === - Used symbols |
- | Il nome del parametro, stato o comando viene riportato alla sinistra della tabella. | + | |
+ | The parameter name, condition or command is taken back to the left side of the table. | ||
**R**\\ | **R**\\ | ||
- | Indica se il relativo parametro o stato è ritentivo | + | Indicates if the parameter or state is retentive |
- | Se il device | + | If the device |
- | R = Ritentivo\\ | + | R = Retentive\\ |
- | 0 = Al momento dell’inizializzazione del device | + | 0 = Upon initialization of the device |
- | 1 = Al momento dell’inizializzazione del device | + | 1 = Upon initialization of the device |
- | - = Al momento dell’inizializzazione del device | + | - = Upon initialization of the device |
**D**\\ | **D**\\ | ||
- | Indica la dimensione del parametro.\\ | + | Indicates the size of the parameter.\\ |
F = Flag\\ | F = Flag\\ | ||
B = Byte\\ | B = Byte\\ | ||
Line 341: | Line 342: | ||
S = Single Float | S = Single Float | ||
- | == Condizioni | + | == Conditions |
- | Vengono descritte tutte le condizioni necessarie affinché il parametro sia considerato corretto o perché il comando venga accettato.\\ | + | |
- | In alcuni casi vengono specificati dei valori limite per l’accettazione del parametro: se vengono introdotti dei valori esterni | + | Describes all the conditions necessary for the parameter so that the parameter is considered correct or because the command is accepted.\\ |
- | ai limiti impostati, il dato viene comunque accettato; pertanto devono essere previsti opportuni controlli dell’applicativo tali | + | In some cases, limit values are specified for the acceptance of the parameter: if any values outside the limits set are introduced, the data is however accepted; therefore appropriate controls of the application must be provided to ensure the proper functioning.\\ |
- | da garantire il corretto funzionamento.\\ | + | To execute a command, all conditions must be met; otherwise the command does not execute. |
- | Per l’esecuzione di un comando, tutte le relative condizioni devono necessariamente essere soddisfatte; in caso contrario | + | |
- | il comando non viene eseguito. | + | |
**A**\\ | **A**\\ | ||
- | Indica la modalità di accesso.\\ | + | Indicates the access mode.\\ |
- | R = Read (lettura).\\ | + | R = Read.\\ |
- | W = Write (scrittura).\\ | + | W = Write.\\ |
RW = Read / Write.\\ | RW = Read / Write.\\ | ||
- | === - Parametri | + | === - Parameters |
- | ^ Nome ^ D ^ R ^ A ^ Condizioni | + | |
- | | mode | B | R | R/W | - | **Mode**\\ (0 ÷ 2)\\ Definisce se la scheda deve funzionare come master | + | ^ Name ^ D ^ R ^ A ^ Conditions |
- | | prot | B | R | R/W | - | **Protocol**\\ (0 ÷ 1)\\ Definisce il tipo di protocollo Modbus da utilizzare.\\ **0** = ASCII,\\ **1** = RTU,\\ **2** = TCPIP | | + | | mode | B | R | R/W | - | **Mode**\\ (0 ÷ 2)\\ Defines if the board should function as a master |
- | | wider | B | R | R/W | - | **Wide Registers**\\ (0 ÷ 1)\\ Indica se utilizzare l’estensione del protocollo per i registri a 32bit. Vedere capitolo | + | | prot | B | R | R/W | - | **Protocol**\\ (0 ÷ 1)\\ Defines the type of modbus protocol to use.\\ **0** = ASCII,\\ **1** = RTU,\\ **2** = TCPIP | |
- | | idcard | + | | wider | B | R | R/W | - | **Wide Registers**\\ (0 ÷ 1)\\ Indicates if to use the 32-bit registers protocol extension. See the “Extension of the Protocol” section |
- | | type | B | 1 | R/W | - | **Type**\\ | + | | idcard |
- | | addr | L | 1 | R/W | - | **Address**\\ (1 ÷ 65535)\\ | + | | type | B | 1 | R/W | - | **Type**\\ |
- | | tabreg | + | | addr | L | 1 | R/W | - | **Address**\\ (1 ÷ 65535)\\ |
- | | num | W | 1 | R/W | - | **Number**\\ (1 ÷ 512)\\ | + | | tabreg |
- | | brate | L | R | R/W | - | **Baud rate**\\ Baud rate della seriale.\\ Valori validi: 4800, 9600, 19200, 38400, 57600, 115200. | + | | num | W | 1 | R/W | - | **Number**\\ (1 ÷ 512)\\ |
- | | stopb | B | R | R/W | - | **Stop bit**\\ | + | | brate | L | R | R/W | - | **Baud rate**\\ |
- | | par | B | R | R/W | - | **Parity**\\ (0 ÷ 2)\\ **0** = none (nessuna),\\ **1** = odd (dispari),\\ **2** = even (pari). | | + | | stopb | B | R | R/W | - | **Stop bit**\\ |
- | | tout | W | R | R/W | - | **Timeout**\\ (0 ÷ 9999 msec)\\ | + | | par | B | R | R/W | - | **Parity**\\ (0 ÷ 2)\\ **0** = none,\\ **1** = odd,\\ **2** = even. | |
- | | toutsyc | + | | tout | W | R | R/W | - | **Timeout**\\ (0 ÷ 9999 msec)\\ |
+ | | toutsyc | ||
| iword1÷32 | | iword1÷32 | ||
- | | st_ibit0÷15 | + | | st_ibit0÷15 |
| ilong1÷16 | | ilong1÷16 | ||
| oword1÷32 | | oword1÷32 | ||
- | | st_obit0÷15 | + | | st_obit0÷15 |
| olong1÷16 | | olong1÷16 | ||
- | La possibilità di comunicare con il protocollo | + | The ability to communicate with the TCPIP protocol It was developed at a later time than the birth of the MODBUS |
- | Per configurare il numero della porta TCPIP è necessario andare a scrivere sui parametri | + | To configure the TCPIP port number You must go and write about the // |
* **stopb** = tcpip_port / & | * **stopb** = tcpip_port / & | ||
* **par** = tcpip_port ANDB & | * **par** = tcpip_port ANDB & | ||
- | Per impostare lo slave TCPIP a cui si vuole eseguire la richiesta è necessario andare a scrivere sul parametro | + | To set the TCPIP slave to which you want to execute the request you must go to write on the// |
- | Un indirizzo | + | An IP address can be expressed as TcpAddr3.TcpAddr2.TcpAddr1.TcpAddr0 (for example |
* **brate** = (TcpAddr3 * & | * **brate** = (TcpAddr3 * & | ||
- | === - Variabili | + | === - Variables |
- | ^ Nome ^ D ^ R ^ A ^ Condizioni | + | |
- | | err | B | 0 | R | - | **Errors**\\ | + | ^ Name ^ D ^ R ^ A ^ Conditions |
- | | serr | B | 0 | R/W | - | **Serial Errors**\\ | + | | err | B | 0 | R | - | **Errors**\\ |
- | | stype | W | 0 | R | - | **Slave type**\\ | + | | serr | B | 0 | R/W | - | **Serial Errors**\\ |
+ | | stype | W | 0 | R | - | **Slave type**\\ | ||
+ | |||
+ | |||
+ | === - States === | ||
+ | ^Name^D^R^A^Conditions^Description^ | ||
+ | |st_sended|F|0|R|-|**Sended**\\ State only been used in master mode. Activation indicates completion of the transmission of a message. The state is reset with the SEND or SENDSYC commands.| | ||
+ | |st_opencom|F|0|R|-|**Open communication port**\\ Activation indicates that the device is working the serial communications port. To set this state use the OPENCOM command, to reset CLOSECOM.| | ||
+ | |wdata|F|0|R|-|**Warning Data**\\ This bit indicates that an attempt was made to insert an invalid value in a parameter.| | ||
+ | |wcmd|F|0|R|-|**Warning Command**\\ This bit indicates that it did not execute a command because they missing the necessary conditions.| | ||
- | === - Stati === | + | === - Commands |
- | ^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_opencom|F|0|R|-|**Open communication port**\\ L' | + | |
- | |wdata|F|0|R|-|**Warning Data**\\ Questo bit segnala che è stato tentato un inserimento di un valore non valido in un parametro.| | + | |
- | |wcmd|F|0|R|-|**Warning Command**\\ Questo bit segnala che è non è stato eseguito un comando perché mancano le condizioni necessarie.| | + | |
- | === - Comandi === | + | The available commands to manage the device |
- | I comandi a disposizione per gestire il device | + | The device |
- | Il device | + | For example if the device |
- | Per esempio se il device | + | |
- | ^Nome^D^R^A^Condizioni^Descrizione^ | + | ^Name^D^R^A^Conditions^Description^ |
- | |SEND|-|-|-|mode = 0\\ 0 < num <= 128\\ st_sended = 1\\ st_opencom = 1|**Sended**\\ | + | |SEND|-|-|-|mode = 0\\ 0 < num <= 128\\ st_sended = 1\\ st_opencom = 1|**Sended**\\ |
- | |SENDSYC|-|-|-|mode = 0\\ 0 < num <= 128\\ st_sended = 1\\ st_opencom = 1|**Send synchronize**\\ | + | |SENDSYC|-|-|-|mode = 0\\ 0 < num <= 128\\ st_sended = 1\\ st_opencom = 1|**Send synchronize**\\ |
- | |READSTYPE|-|-|-|mode = 0\\ st_sended = 1\\ st_opencom = 1|**Read slave type**\\ | + | |READSTYPE|-|-|-|mode = 0\\ st_sended = 1\\ st_opencom = 1|**Read slave type**\\ |
- | |CLRWDATA|-|-|-|-|**Clear Warning Data**\\ | + | |CLRWDATA|-|-|-|-|**Clear Warning Data**\\ |
- | |CLRWCMD|-|-|-|-|**Clear Warning Command**\\ | + | |CLRWCMD|-|-|-|-|**Clear Warning Command**\\ |
- | |OPENCOM|-|-|-|st_opencom = 0|**Open Serial communication**\ | + | |OPENCOM|-|-|-|st_opencom = 0|**Open Serial communication**\ |
- | |CLOSECOM|-|-|-|-|**Close Serial communication**\\ | + | |CLOSECOM|-|-|-|-|**Close Serial communication**\\ |
- | ===== - Descrizione funzionamento come slave ===== | + | ===== - Slave operation description |
==== - Modo di funzionamento SLAVE ==== | ==== - Modo di funzionamento SLAVE ==== | ||