en:software:devices:modbus

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
en:software:devices:modbus [2016/12/22 15:57] – [5.7. Broadcast] qem103en:software:devices:modbus [2016/12/23 15:54] – [5.10.2. Parametri] qem103
Line 289: Line 289:
 The Broadcast is a special message that is sent by the Master and is received simultaneously from all connected slaves. The broadcast function (idcard = 0) is supported only in master mode and if you use a message with type = 5, 6, 15 and 16 (write only). In this mode the st_sended state is activated once ended the transmission and not on receipt of confirmation by the slave. There isn't answer on the slaves to such messages. You cannot use the SENDSYC command. The Broadcast is a special message that is sent by the Master and is received simultaneously from all connected slaves. The broadcast function (idcard = 0) is supported only in master mode and if you use a message with type = 5, 6, 15 and 16 (write only). In this mode the st_sended state is activated once ended the transmission and not on receipt of confirmation by the slave. There isn't answer on the slaves to such messages. You cannot use the SENDSYC command.
  
-==== - Identificazione degli Slave ==== +==== - Slaves indentification ====
-La scheda quando funziona in modalità Master permette, con un speciale comando, di riconoscere se lo slave collegato è +
-di tipo QEM. In caso affermativo determina anche il modello di slave connesso. Questo permette di realizzare una diagnostica +
-sulla corretta configurazione della rete. Non è possibile estendere questo controllo a tutti i tipi di slave esistenti +
-perché il protocollo non prevede una modalità standard di riconoscimento slave.\\ +
-Il comando READSTYPE eseguito dopo aver opportunamente selezionato lo slave (tramite parametro idcard) invia allo +
-slave una richiesta modbus nr.17 per il riconoscimento. Lo slave risponderà con un suo valore predefinito e potrà essere +
-letto nel parametro stype del master. Nel caso lo slave non sia prodotto da QEM srl, il parametro avrà valore –1 ad indicare che lo +
-slave è connesso ma non è possibile identificarlo.\\ +
-Per il device MODBUS lo slave ID è diverso a seconda dello slave QEM utilizzato. Per una codifica degli slave in questo +
-senso vedere il manuale Firmware dello slave utilizzato.+
  
-Esempio d'identificazione dello slave nr.12:+When the card works in master mode allows, with specila command, tell if the slave connected is a QEM. If so also determines the pattern of slave connected. This allows a diagnostic on the correct network configuration. You cannot extend this control to all types of existing slaves because the protocol does not provide a standard way of slave recognition.\\ 
 +The READSTYPE command executed after selecting the slave (through idcard parameter) send a nr.17 modbus request to the slave for recognition. The slave will responds with a default value and can be read in the stype parameter of the master. If the slave is not produced by QEM, the parameter will be –1 value to indicate that the slave is connected but you cannot identify it.\\ 
 +For the MODBUS device the ID slave is different depending on the slave QEM used. For encoding of the slaves see the slave Firmware used. 
 + 
 +Example of slave identification nr.12:
 <code QCL> <code QCL>
 modbus:idcard = 12 modbus:idcard = 12
Line 316: Line 310:
 ENDIF ENDIF
 </code> </code>
-==== - Estensione del protocollo ====+==== - Protocol extension ====
  
-Il protocollo di comunicazione modbus standard definisce tipi di dati di scambio:\\+The modbus standard communication protocol defines types of Exchange data:\\
   * INPUT STATUS,   * INPUT STATUS,
   * COIL STATUS,   * COIL STATUS,
   * INPUT REGISTER,   * INPUT REGISTER,
   * HOLDING REGISTER.   * HOLDING REGISTER.
-Questi tipi trattano i segnali tipo Digital Inputs, Digital Outputs, Analog Inputs, and Analog Outputs. I valori dei registri +These types treat signals as Digital Inputs, Digital Outputs, Analog Inputs, and Analog Outputs. The values of the registers (INPUT REGISTERS and HOLDING REGISTERS), are defined as values in 16 bit, each with a unique address, (example INPUT REGISTER #1, INPUT REGISTER #2, INPUT REGISTER #3, ecc.).\\ 
-(sia INPUT REGISTERS che HOLDING REGISTERS), sono definiti come valori a 16 bit, ognuno con un unico indirizzo, +To allow support for datatypes larger than 16 bit, has been designed an extension to the protocol to treat long 32 bit dimension valuesImplementing this feature preserves the formatting of the message standard modbus it uses the contents of two consecutive addresses to represent a 32 bit valueWhen 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 requestIf the address is greater than 5000 will be returned a 32-bit valueif under the Protocol remains unchanged with response to 16 bits.
-(esempio INPUT REGISTER #1, INPUT REGISTER #2, INPUT REGISTER #3, ecc.).\\ +
-Per permettere di suppportare tipi di dato di dimensione maggiore di 16 bit, è stata progettata una estensione al protocollo +
-per trattare valori di dimensione long 32 bit. L’implementazione di questa funzionalitá mantiene la formattazione del +
-messaggio standard modbus e utilizza il contenuto di due indirizzi consecutivi per rappresentare un valore 32 bit. Quando +
-questa estensione è attiva (wider = 1), a seconda dell’indirizzo utilizzato lo slave risponderà con un valore a 16 bit 32 bit +
-per ogni richiesta di registroSe l’indirizzo è superiore a 5000 verrà risposto con valore a 32 bit, se inferiore il protocollo +
-rimane invariato con risposta a 16 bit.+
  
-==== - Comandi e parametri ====+==== - Commands and parameters ====
  
-=== - Simbologia adottata === +=== - Used symbols === 
-Il nome del parametrostato o comando viene riportato alla sinistra della tabella.+ 
 +The parameter namecondition or command is taken back to the left side of the table.
  
 **R**\\ **R**\\
-Indica se il relativo parametro o stato è ritentivo (al momento dell’inizializzazione del device mantiene lo stato precedentemente definito), oppure lo stato che assume al momento dell’inizializzazione del device.\\ +Indicates if the parameter or state is retentive (upon initialization of the device maintains the previously defined state), or the state assumes upon initialization of the device.\\ 
-Se il device non necessita di inizializzazione il campo “R” indica il valore che il parametro o stato assume all’accensione della scheda.\\ +If the device does not need to initialize the “R” field indicates the value that the parameter or state take at the at power-up card.\\ 
-R = Ritentivo\\ +R = Retentive\\ 
-0 = Al momento dell’inizializzazione del device il valore viene forzato a zero.\\ +0 = Upon initialization of the device the value is forced to zero.\\ 
-1 = Al momento dell’inizializzazione del device il valore viene forzato a uno.\\ +1 = Upon initialization of the device the value is forced to one.\\ 
-- = Al momento dell’inizializzazione del device viene presentato il valore significativo.+- = Upon initialization of the device is presented significant value.
  
 **D**\\ **D**\\
-Indica la dimensione del parametro.\\+Indicates the size of the parameter.\\
 F = Flag\\ F = Flag\\
 B = Byte\\ B = Byte\\
Line 354: 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 parametrose 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 impostatiil dato viene comunque accettatopertanto devono essere previsti opportuni controlli dell’applicativo tali +In some cases, limit values are specified for the acceptance of the parameterif any values outside the limits set are introducedthe data is however acceptedtherefore appropriate controls of the application must be provided to ensure the proper functioning.\\ 
-da garantire il corretto funzionamento.\\ +To execute a commandall conditions must be metotherwise the command does not execute.
-Per l’esecuzione di un comandotutte le relative condizioni devono necessariamente essere soddisfattein 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  Descrizione                                                                                                                                                                                                           ^ + 
-| mode         | B  | R  | R/W  | -           | **Mode**\\ (0 ÷ 2)\\ Definisce se la scheda deve funzionare come master o come slave.\\ **0** = master.                                                                                                               | +Name         ^ D  ^ R  ^ A    ^ Conditions  Description                                                                                                                                                                                                           ^ 
-| 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 or slave.\\ **0** = master.                                                                                                               | 
-| wider        | B  | R  | R/W  | -           | **Wide Registers**\\ (0 ÷ 1)\\ Indica se utilizzare l’estensione del protocollo per i registri a 32bitVedere capitolo Estensione del protocollo” :\\ **0** = normale,\\ **1** = protocollo esteso.                 | +| prot         | B  | R  | R/W  | -           | **Protocol**\\ (0 ÷ 1)\\ Defines the type of modbus protocol to use.\\ **0** = ASCII,\\ **1** = RTU,\\ **2** = TCPIP                                                                                        | 
-| idcard       | W  | R  | R/W  | -           | **Identification Card**\\ (0 ÷ 255)\\ Nel funzionamento come master è il numero del dispositivo al quale s'intende trasmettereNel modo master è valida anche l’impostazione zero per il funzionamento broadcast.    | +| wider        | B  | R  | R/W  | -           | **Wide Registers**\\ (0 ÷ 1)\\ Indicates if to use the 32-bit registers protocol extensionSee the Extension of the Protocol” section :\\ **0** = normal,\\ **1** = extended protocol.                 | 
-| type         | B  | 1  | R/W  | -           | **Type**\\ Definisce il tipo di richiesta che il master deve eseguire.\\ Valori ammessi: 1, 2, 3, 4, 5, 6, 15, 16                                                                                                     | +| idcard       | W  | R  | R/W  | -           | **Identification Card**\\ (0 ÷ 255)\\ In the operation as the master is the device number that you want to transmitIn master mode setting of zero is also valid for operation broadcast.    | 
-| addr         | L  | 1  | R/W  | -           | **Address**\\ (1 ÷ 65535)\\ Definisce l’indirizzo utilizzato dal master per definire quale sia il dato da leggere o scrivere.                                                                                         | +| type         | B  | 1  | R/W  | -           | **Type**\\ Defines the type of request that the master must perform.\\ Allowed values: 1, 2, 3, 4, 5, 6, 15, 16                                                                                                     | 
-| tabreg       | W  | 1  | R/W  | -           | **Destination**\\ (1 ÷ 512)\\ Definisce l’indirizzo nelle tabelle dei dati in cui scrivere il dato letto o in cui trovare il dato da scrivere.                                                                        | +| addr         | L  | 1  | R/W  | -           | **Address**\\ (1 ÷ 65535)\\ Defines the address used by the master to define the data to be read or write.                                                                                         | 
-| num          | W  | 1  | R/W  | -           | **Number**\\ (1 ÷ 512)\\ È il numero d'elementi da scrivere o leggere nella richiesta che compone il master.                                                                                                          | +| tabreg       | W  | 1  | R/W  | -           | **Destination**\\ (1 ÷ 512)\\ Defines the address data tables into which to write the data read or where to find the data to write.                                                                        | 
-| 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)\\ Is the number of items to be written to or read in the request of the master.                                                                                                          | 
-| stopb        | B  | R  | R/W  | -           | **Stop bit**\\ Valori validi: 1, 2.                                                                                                                                                                                   | +| brate        | L  | R  | R/W  | -           | **Baud rate**\\ Serial Baud rate.\\ Allowed values: 4800, 9600, 19200, 38400, 57600, 115200.                                                                                                                    | 
-| par          | B  | R  | R/W  | -           | **Parity**\\ (0 ÷ 2)\\ **0** = none (nessuna),\\ **1** = odd (dispari),\\ **2** = even (pari).                                                                                                                        | +| stopb        | B  | R  | R/W  | -           | **Stop bit**\\ Allowed values: 1, 2.                                                                                                                                                                                   | 
-| tout         | W  | R  | R/W  | -           | **Timeout**\\ (0 ÷ 9999 msec)\\ Per la modalitá master è il tempo massimo in cui lo slave deve rispondere.\\ Impostandolo a zero il Timeout è disabilitato.                                                           | +| par          | B  | R  | R/W  | -           | **Parity**\\ (0 ÷ 2)\\ **0** = none,\\ **1** = odd,\\ **2** = even.                                                                                                                        | 
-| toutsyc      | W  | R  | R/W  | -           | **Time out synchronize**\\ (0 ÷ 9999 msec)\\ Utilizzato solamente per la modalitá master è il tempo massimo che puó trascorrere tra l’invio del comando SENDSYC e l’esecuzione del comando RECEIVED nello slave QEM.  |+| tout         | W  | R  | R/W  | -           | **Timeout**\\ (0 ÷ 9999 msec)\\ For the master mode is the maximum time the slave must respond.\\ Setting it to zero, the Timeout is disabled.                                                           | 
 +| toutsyc      | W  | R  | R/W  | -           | **Time out synchronize**\\ (0 ÷ 9999 msec)\\ FIXME Utilizzato solamente per la modalitá master è il tempo massimo che puó trascorrere tra l’invio del comando SENDSYC e l’esecuzione del comando RECEIVED nello slave QEM.  |
 | iword1÷32    | W  | 0  | R    | -           | **Input Word nr.** (1Input Long nr. (1÷16)32)                                                                                                                                                                         | | iword1÷32    | W  | 0  | R    | -           | **Input Word nr.** (1Input Long nr. (1÷16)32)                                                                                                                                                                         |
 | st_ibit0÷15  | F  | 0  | R    | -           | **Input bit nel parametro iword1**                                                                                                                                                                                    | | st_ibit0÷15  | F  | 0  | R    | -           | **Input bit nel parametro iword1**                                                                                                                                                                                    |
  • Last modified: 2020/07/13 14:58