FB_WriteReadVar: blocco funzione lettura e scrittura

Panoramica

Il blocco funzione FB_WriteReadVar può essere utilizzato per:

oscrivere registri interni consecutivi e leggerne i valori nello stesso ciclo di esecuzione del blocco funzione (transazione singola),

oscrivere registri interni consecutivi e leggere registri diversi.

Il grafico seguente mostra lo schema dei pin del blocco funzione FB_WriteReadVar:

G-SE-0047226.1.gif-high.gif

 

 

Il blocco funzione FB_WriteReadVar 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. Tenere presente che viene eseguita per prima l'operazione di scrittura.

Descrizione delle variabili di I/O

La tabella descrive le variabili di ingresso del blocco funzione nella libreria TwidoEmulationSupport:

Ingresso

Tipo di dati

Descrizione

i_xExecute

BOOL

La funzione è eseguita sul fronte di salita di questo ingresso.

NOTA: Quando i_xExecute è impostato a TRUE al primo ciclo del task in RUN dopo un reset a caldo o a freddo, il fronte di salita non viene rilevato.

i_xAbort

BOOL

Interrompe l'operazione in corso sul fronte di salita.

i_iLink

INT

Indica la porta utilizzata per comunicare.

o1 = porta seriale 1

o2 = porta seriale 2

o3 = Ethernet / Modbus TCP

i_iId

INT

Identificatore dispositivo del dispositivo esterno di destinazione:

oIndirizzo slave linea seriale: 1...247 o

oIndice Ethernet: 1...16

(A seconda della configurazione).

i_iTimeout

INT

Imposta il tempo massimo di attesa per la ricezione di una risposta dal modem. Specificato in ms. Un valore di 0 indica nessun timeout.

i_diFirstReadObj

DINT

Indirizzo del primo oggetto da cui vengono letti i valori.

i_iReadQuantity

INT

Numero di oggetti da leggere.

i_pbyReadBuffer

POINTER TO BYTE

Indirizzo del buffer in qui vengono memorizzati i valori dell'oggetto letto.

i_diFirstWriteObj

DINT

Indirizzo del primo oggetto da cui vengono scritti i valori.

i_iWriteQuantity

INT

Numero di oggetti da scrivere.

i_pbyWriteBuffer

POINTER TO BYTE

Indirizzo del buffer nel quale sono memorizzati i valori degli oggetti da scrivere.

i_astRemoteDevices

ARRAY [1..Gc_uiRemoteAddressTableLen] OF ST_RemoteDevice

Contiene l'elenco degli indirizzi dispositivo remoto per la comunnicazione Modbus TCP.

La tabella descrive le variabili di uscita del blocco funzione nella libreria TwidoEmulationSupport:

Uscita

Tipo di dati

Descrizione

q_xDone

BOOL

Quando la funzione viene completata correttamente, q_xDone è impostato a TRUE.

q_xBusy

BOOL

q_xBusymentre la funzione è in corso, è impostato a TRUE.

q_xAborted

BOOL

Quando la funzione viene arrestata con l'immissione del comando i_xAbort, q_xAborted è impostato a TRUE.

q_xError

BOOL

Quando la funzione si interrompe per il rilevamento di un errore, q_xError è impostato a TRUE.

q_etCommError

SEN.CommunicationErrorCodes

q_etCommError contiene il valore dei codici di errore di comunicazione SEN.CommunicationErrorCodes.

q_etOperError

SEN.OperationErrorCodes

q_etOperError contiene il valore dei codici di errore operazione SEN.OperationErrorCodes.