WRITE_READ_VAR
: lettura e scrittura di registri interni su un dispositivo Modbus
Questa funzione legge e scrive i registri interni (solo di tipo MW) in un dispositivo esterno nel protocollo Modbus. Le operazioni di lettura e scrittura sono contenute in un'unica transazione.
L'operazione di scrittura viene eseguita per prima. La funzione WRITE_READ_VAR
può quindi eseguire:
la lettura di due registri interni consecutivi e l'immediata rilettura dei relativi valori a scopo di verifica
la scrittura di alcuni registri interni consecutivi e la lettura di altri nell'ambito di un'unica richiesta
WRITE_READ_VAR
- Descrizione specifica del parametro
Ingresso |
Tipo |
Commento |
---|---|---|
|
|
|
|
DINT |
|
|
UINT |
|
|
POINTER TO BYTE |
Indirizzo del puntatore all'array che contiene i dati da scrivere nel dispositivo di destinazione. L'array deve essere uguale o maggiore dei dati che devono essere scritti. È necessario utilizzare la funzione ADR per passare l'indirizzo del primo byte dell'array (vedere il grafico CFC nell'esempio). |
|
DINT |
|
|
UINT |
|
|
POINTER TO BYTE |
Indirizzo del puntatore all'array che contiene i dati ricevuti che sono stati letti dal dispositivo di destinazione. L'array deve essere uguale o maggiore dei dati che devono essere letti. È necessario utilizzare la funzione ADR per passare l'indirizzo del primo byte dell'array (vedere il grafico CFC nell'esempio). |
Questo esempio mostra l'implementazione del blocco funzione WRITE_READ_VAR
in combinazione con il blocco funzione ADDM
per scrivere due registri a partire dall'indirizzo 11 e leggere altri due registri a partire dall'indirizzo 1 di uno slave Modbus. Lo slave Modbus è specificato con indirizzo 8 e deve essere accessibile tramite l'interfaccia seriale 1. Un presupposto è che Modbus Manager sia configurato come master nell'interfaccia di linea seriale 1.