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/23 16:51] – [6.1.1. Aggiornamento dei parametri tipo owordNN] qem103en:software:devices:modbus [2016/12/23 17:23] – [6.3.2. Parametri] qem103
Line 474: Line 474:
 </code> </code>
  
-=== - Processo dei parametri tipo iwordNN === +=== - Process iwordNN parameters type ===
-Per processare i parametri tipo iwordNN, invece, il QCL deve attendere che lo stato st_msgrx venga attivato. Questo significa +
-che un messaggio di scrittura è stato inviato dal master. Per i messaggi di lettura nessun segnale viene riferito ai +
-parametri QCL. Il QCL poi deve prelevare i valori dall’area scambio dati e al termine deve inviare il comando RECEIVED, +
-solo allora lo stato st_msgrx viene disattivato.+
  
-**Esempio**+To process the iwordNN parameters type, instead,the QCL must wait for the st_msgrx state is activated. This means that a write message was sent by the master. For the read message no signal reportedly to QCL parameters. The QCL then must take the values from the data exchange and at the end needs to send the RECEIVED command, only then the st_msgrx state is disabled. 
 + 
 +**Example**
 <code QCL> <code QCL>
 WAIT modbus.st_msgrx WAIT modbus.st_msgrx
Line 488: Line 486:
 RECEIVED modbus RECEIVED modbus
 </code> </code>
-Naturalmente non esiste nessun controllo per evitare che durante la lettura dei parametri //iwordNN// il master erroneamente 
-esegua un’altra scrittura, prima che il codice del progetto presente nello slave finisca il processo.\\ 
-Inoltre il codice per la manipolazione del device modbus nell’applicativo è consigliato che sia raccolto in un unico task in 
-modo da non creare accessi contemporanei ai device che potrebbero generare delle condizioni non valide in ogni singolo 
-contesto. 
  
-Tutte le richieste di lettura che arrivano dal master MODBUS fanno riferimento ai dati di tipo //owordNN// accedendo quindi +There is no control to prevent when reading //iwordNN// parameters the master incorrectly execute another writing, before the project code present in the slave to finish the process.\\ 
-alla stessa area datiLo slave mette a disposizione i valori che il master leggerà nei parametri di tipo //owordNN//.\\ +Also the code for handling the modbus device in the application it is recommended that it is collected in a single task in order not to create simultaneous accesses to the device that could generate invalid conditions. 
-Tutte le richieste di scrittura che arrivano dal master MODBUS fanno riferimento ai dati di tipo //iwordNN// accedendo quindi + 
-alla stessa area datiLo slave mette a disposizione i parametri //iwordNN// dove il master potrà scrivere i dati+All read requests that arrive from the master MODBUS refer to the //owordNN// type data by accessing to the same data area. The slave provides the values that the master will read in the //owordNN// parameters type.\\ 
-==== - Schema a blocchi ====+All write requests arriving from the MODBUS master refer to the //iwordNN// type data aby accessing to the same data area. The slave provides the //iwordNN// parameters where the master will write data
 +==== - Block diagram ==== 
 {{:software:devices:modbus:modbus_02.png?nolink400|}} {{:software:devices:modbus:modbus_02.png?nolink400|}}
  
-==== - Comandi e parametri ====+==== - Commands and parameters ====
  
-=== - Simbologia adottata ===+=== - Used symbols ===
  
-Il nome del parametrostato o comando è riportato alla sinistra della tabella.+The parameter namecondition or command is shown at the left 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 accept to the power up of the card.\\ 
-R = Ritentivo\\ +R = Retentive\\ 
-0 = Al momento dell’inizializzazione del device il valore è forzato a zero.\\ +0 = Upon initialization of the device the value is forced to zero.\\ 
-1 = Al momento dell’inizializzazione del device il valore è forzato ad uno.\\ +1 = Upon initialization of the device the value is forced to one.\\ 
-- = Al momento dell’inizializzazione del device è 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 523: Line 518:
 S = Single Float\\ S = Single Float\\
  
-== Condizioni == +== Conditions == 
-Sono descritte tutte le condizioni necessarie affinché il parametro sia considerato corretto o perché il comando venga accettato.\\ + 
-In alcuni casi sono specificati dei valori limite per l’accettazione del parametrose sono introdotti dei valori esterni ai limiti impostatiil dato è comunque accettatopertanto devono essere previsti opportuni controlli dell’applicativo tali da garantire il corretto funzionamento.\\ Per l’esecuzione di un comandotutte le relative condizioni devono necessariamente essere soddisfattein caso contrario il comando non è eseguito.+Describes all the conditions necessary so that the parameter is considered correct or because the command is accepted.\\ 
 +In some cases, limit values are specified for the acceptance of the parameterif there are any values outside the limits setthe data is however acceptedtherefore appropriate controls of the application must be provided to ensure the proper functioning.\\ To execute a commandall conditions must be metotherwise the command is not executed.
  
 **A**\\ **A**\\
-Indica la modalità d'accesso.\\ +Indicates the access mode.\\ 
-R = Read (lettura).\\ +R = Read.\\ 
-W = Write (scrittura).\\+W = Write.\\
 RW = Read / Write. RW = Read / Write.
  
-=== - Parametri ===+=== - Parameters === 
 +FIXME
 ^ 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.  |
  • Last modified: 2020/07/13 14:58