Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
en:software:devices:modbus [2016/12/23 15:54] – [5.10.2. Parametri] qem103 | en:software:devices:modbus [2016/12/23 16:29] – [5.10.4. Stati] qem103 |
---|
| par | B | R | R/W | - | **Parity**\\ (0 ÷ 2)\\ **0** = none,\\ **1** = odd,\\ **2** = even. | | | par | B | R | R/W | - | **Parity**\\ (0 ÷ 2)\\ **0** = none,\\ **1** = odd,\\ **2** = even. | |
| 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. | | | 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. | | | toutsyc | W | R | R/W | - | **Time out synchronize**\\ (0 ÷ 9999 msec)\\ Only used to master mode is the maximum time that can elapse between sending the SENDSYC command and the RECEIVED command execution on the QEM slave. | |
| 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 in the iword1 parameter** | |
| ilong1÷16 | L | 0 | R | - | **Input Long nr.** (1÷16) | | | ilong1÷16 | L | 0 | R | - | **Input Long nr.** (1÷16) | |
| oword1÷32 | W | 0 | R/W | - | **Output Word nr.** (1÷32) | | | oword1÷32 | W | 0 | R/W | - | **Output Word nr.** (1÷32) | |
| st_obit0÷15 | F | 0 | R/W | - | **Output bit nel parametro oword1** | | | st_obit0÷15 | F | 0 | R/W | - | **Output bit in the oword1 parameter** | |
| olong1÷16 | L | 0 | R/W | - | **Output Long nr.** (1÷16) | | | olong1÷16 | L | 0 | R/W | - | **Output Long nr.** (1÷16) | |
| |
La possibilità di comunicare con il protocollo TCPIP è stata sviluppata in un tempo successivo rispetto alla nascita del device MODBUS. Per questo modivo l'impostazione della porta e dell'indirizzo IP viene eseguita mediante alcuni parametri che hanno un significato diverso. | The ability to communicate with the TCPIP protocol It was developed at a later time than the birth of the MODBUS device. For this reason the IP address and port setting is achieved using some parameters that have a different meaning. |
| |
Per configurare il numero della porta TCPIP è necessario andare a scrivere sui parametri //stopb// e //par//. Rispettivamente : | To configure the TCPIP port number You must go and write about the //stopb// and //par// parameters. Respectively : |
* **stopb** = tcpip_port / &H00000100 | * **stopb** = tcpip_port / &H00000100 |
* **par** = tcpip_port ANDB &H000000FF | * **par** = tcpip_port ANDB &H000000FF |
Per impostare lo slave TCPIP a cui si vuole eseguire la richiesta è necessario andare a scrivere sul parametro //brate//.\\ | To set the TCPIP slave to which you want to execute the request you must go to write on the//brate// parameter .\\ |
Un indirizzo IP può essere espresso come TcpAddr3.TcpAddr2.TcpAddr1.TcpAddr0 (per esempio 192.168.0.1). | An IP address can be expressed as TcpAddr3.TcpAddr2.TcpAddr1.TcpAddr0 (for example 192.168.0.1). |
* **brate** = (TcpAddr3 * &H01000000) + (TcpAddr2 * &H00010000) + (TcpAddr1 * &H00000100) + TcpAddr0 | * **brate** = (TcpAddr3 * &H01000000) + (TcpAddr2 * &H00010000) + (TcpAddr1 * &H00000100) + TcpAddr0 |
| |
| |
=== - Variabili === | === - Variables === |
^ 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. | | |
| serr | B | 0 | R/W | - | **Serial Errors**\\ Indica se sono stati riscontrati errori nella comunicazione seriale. Il parametro viene aggiornato ad ogni errore rilevato. Il valore permane fino:\\ - ad un successivo errore;\\ - alla scrittura di uno dei seguenti parametri: mode, prot, wider, brate, stopb, par;\\ - ad una scrittura sullo stesso (qualsiasi valore lo azzera).\\ **0** = nessun errore,\\ **1** = parity error,\\ **2** = framing error,\\ **3** = overrun error. | | |
| stype | W | 0 | R | - | **Slave type**\\ Indica il tipo di slave connesso. Il parametro viene aggiornato quando il parametro //st_sended// diventa 1 e se era stato eseguito un comando READSTYPE | | |
| |
| ^ Name ^ D ^ R ^ A ^ Conditions ^ Description ^ |
| | err | B | 0 | R | - | **Errors**\\ Indicates if errors occurred in the protocol.\\ In master mode the parameter is updated to coincide the activation of the //st_sended// state. The values from 1 to 49 are those sent by the slave. Values greater than 50 are generated internally by the master. The first 8 velues are normalized in the protocol and are:\\ **0** = communications without errors,\\ **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 the slave answered with a code greater than 49,\\ **5**1 = TIMEOUT the slave does not respond within the time scheduled in the tout parameter,\\ **52** = INVALID ANSWER,\\ **52** = INVALID FUNCTION ANSWER - Function type not supported,\\ **53** = CHECKSUM ANSWER - The checksum proceeds does not match,\\ **54** = TRUNCATED ANSWER - Message too short,\\ **55** = INVALID ID ANSWER - Slave ID mismatch,\\ **56** = INVALID_MBAP_TRANSACTION_ID - modbus TCPIP, //transaction ID// incorrectly,\\ **57** = INVALID_MBAP_PROTOCOL_ID - modbus TCPIP, //protocol ID// different by zero,\\ **70** = TIMEOUT SYNCHRONIZED the slave QEM did not execute the RECEIVED command within the time scheduled in the toutsyc parameter.\\ In slave mode the parameter is never updated. | |
| | serr | B | 0 | R/W | - | **Serial Errors**\\ Indicates if errors occurred in serial communication. The parameter is updated for each error encountered. The value persists until:\\ - under a subsequent error;\\ - the writing of one of the following parameters: mode, prot, wider, brate, stopb, par;\\ - writing about himself (any value will reset).\\ **0** = no errors,\\ **1** = parity error,\\ **2** = framing error,\\ **3** = overrun error. | |
| | stype | W | 0 | R | - | **Slave type**\\ Indicates the type of slave connected. The parameter is updated when the //st_sended// parameter becomes 1 and if it had been execute a READSTYPE command | |
| |
=== - Stati === | |
^Nome^D^R^A^Condizioni^Descrizione^ | === - States === |
|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'attivazione indica che il device sta impegnando la porta di comunicazione seriale. Per settare questo stato usare il comando OPENCOM, per resettarlo CLOSECOM.| | ^Name^D^R^A^Conditions^Description^ |
|wdata|F|0|R|-|**Warning Data**\\ Questo bit segnala che è stato tentato un inserimento di un valore non valido in un parametro.| | |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.| |
|wcmd|F|0|R|-|**Warning Command**\\ Questo bit segnala che è non è stato eseguito un comando perché mancano le condizioni necessarie.| | |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.| |
| |
=== - Comandi === | === - Comandi === |