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/23 16:51] – [6.1.1. Aggiornamento dei parametri tipo owordNN] qem103 | en:software:devices:modbus [2016/12/27 14:47] – [6.3.5. Comandi] qem103 | ||
---|---|---|---|
Line 474: | Line 474: | ||
</ | </ | ||
- | === - Processo dei parametri tipo iwordNN === | + | === - Process |
- | 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 | ||
</ | </ | ||
- | 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 | + | 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 | + | 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 | + | |
- | alla stessa | + | All read requests that arrive from the master MODBUS |
- | ==== - Schema a blocchi | + | All write requests arriving from the MODBUS |
+ | ==== - Block diagram | ||
{{: | {{: | ||
- | ==== - Comandi e parametri | + | ==== - Commands and parameters |
- | === - Simbologia adottata | + | === - Used symbols |
- | Il nome del parametro, stato o comando è riportato alla sinistra della tabella. | + | The parameter name, condition or command is shown at the left 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 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 parametro: se sono introdotti dei valori esterni ai limiti impostati, il dato è comunque accettato; pertanto devono essere previsti opportuni controlli dell’applicativo tali da garantire il corretto funzionamento.\\ Per l’esecuzione di un comando, tutte le relative condizioni devono necessariamente essere soddisfatte; in 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 parameter: if there are any values outside the limits set, the data is however accepted; therefore appropriate controls of the application must be provided to ensure the proper functioning.\\ To execute a command, all conditions must be met; otherwise the command is not executed. | ||
**A**\\ | **A**\\ | ||
- | Indica la modalità d' | + | 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**\\ | + | | mode | B | R | R/W | - | **Mode**\\ (0 ÷ 2)\\ Defines if the board should function as a master |
- | | wider | B | R | R/W | - | **Wide Registers**\\ | + | | prot | B | R | R/W | - | **Protocol**\\ |
- | | idcard | + | | wider | B | R | R/W | - | **Wide Registers**\\ |
- | | brate | L | R | R/W | - | **Baud rate**\\ Baud rate della seriale.\\ Valori validi: 4800, 9600, 19200, 38400, 57600, 115200. | + | | idcard |
- | | stopb | B | R | R/W | - | **Stop bit**\\ | + | | brate | L | R | R/W | - | **Baud rate**\\ Baud rate of the serial.\\ Valid values: 4800, 9600, 19200, 38400, 57600, 115200. |
+ | | stopb | B | R | R/W | - | **Stop bit**\\ | ||
| par | B | R | R/W | - | **Parity**\\ (0 ÷ 2)\\ **0** = none,\\ **1** = even,\\ **2** = odd. | | | par | B | R | R/W | - | **Parity**\\ (0 ÷ 2)\\ **0** = none,\\ **1** = even,\\ **2** = odd. | | ||
- | | rdelay | + | | rdelay |
| 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 | ||
Line 553: | Line 550: | ||
- | === - Variabili | + | === - Variables |
- | ^Nome^D^R^A^Condizioni^ Descrizione^ | + | |
- | |serr|B|0|R/ | + | ^Name^D^R^A^Conditions^Description^ |
+ | |serr|B|0|R/ | ||
+ | |||
+ | === - States === | ||
+ | |||
+ | ^Name^D^R^A^Conditions^Description^ | ||
+ | |st_msgrx|F|0|R|-|**Message received**\\ State used only in slave mode. Indicates that a message from the master has executed a write in the QCL data exchange area. The state is reset with the RECEIVED command.| | ||
+ | |st_opencom|F|0|R|-|**Open communication port**\\ Activation indicates that the device is working with the serial communications port. To set this state use the OPENCOM command, for reset use 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 lack the necessary conditions.| | ||
+ | |||
+ | === - Commands === | ||
- | === - Stati === | + | The available commands to manage the device are listed below in descending order of priority.\\ |
- | ^Nome^D^R^A^Condizioni^ Descrizione^ | + | The device executes all commands |
- | |st_msgrx|F|0|R||-|**Message | + | For example if the device |
- | |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 === | + | ^ Name ^ D ^ R ^ A ^ Conditions |
- | I comandi a disposizione per gestire il device sono elencati sotto in ordine di priorità decrescente.\\ | + | | RECEIVED |
- | Il device esegue tutti i comandi ricevuti entro lo stesso tempo di campionamento iniziando da quello con la priorità maggiore.\\ | + | | VALIDATE |
- | Per esempio se il device riceve nello stesso tempo di campionamento i comandi CLOSECOM e OPENCOM, per primo esegue il comando OPENCOM e poi quello di CLOSECOM lasciando perciò la porta di comunicazione chiusa. | + | | CLRWDATA |
- | ^ Nome ^ D ^ R ^ A ^ Condizioni | + | | CLRWCMD |
- | | RECEIVED | + | | OPENCOM |
- | | VALIDATE | + | | CLOSECOM |
- | | CLRWDATA | + | |
- | | CLRWCMD | + | |
- | | OPENCOM | + | |
- | | CLOSECOM | + | |