FB_WriteReadVar: Bloque de funciones de escritura y lectura de datos

Descripción general

El bloque de funciones FB_WriteReadVar permite:

oescribir registros internos consecutivos y volver a leer sus valores en el mismo ciclo de ejecución del bloque de funciones (transacción única),

oescribir registros internos consecutivos y leer registros distintos.

En la gráfica siguiente se muestra un diagrama de pines del bloque de funciones FB_WriteReadVar:

G-SE-0047226.1.gif-high.gif

 

 

El bloque de funciones FB_WriteReadVar lee y escribe registros internos (únicamente de tipo MW) en un dispositivo externo en el protocolo Modbus. Las operaciones de lectura y escritura se encuentran en una sola transacción. Tenga en cuenta que se ejecuta primero la operación de escritura.

Descripción de variables de E/S

En la tabla se describen las variables de entrada del bloque de funciones en la biblioteca TwidoEmulationSupport:

Entrada

Tipo de datos

Descripción

i_xExecute

BOOL

La función se ejecuta en el flanco ascendente de esta entrada.

NOTA: Si i_xExecute se establece en TRUE en el primer ciclo de tarea EN EJECUCIÓN después de un reseteo en frío o en caliente, el flanco ascendente no se detecta.

i_xAbort

BOOL

Detiene la operación en curso en el flanco ascendente.

i_iLink

INT

Indica el puerto empleado para la comunicación.

o1 = Puerto serie 1

o2 = Puerto serie 2

o3 = Ethernet / Modbus TCP

i_iId

INT

Identificador del dispositivo externo de destino:

oDirección del esclavo de línea serie: 1...247 o

oíndice de Ethernet: 1...16

(Depende de la configuración de la conexión).

i_iTimeout

INT

Establece el tiempo máximo de espera de recepción de una respuesta del módem. Se especifica en ms. El valor 0 significa que no se ha establecido ningún tiempo de espera.

i_diFirstReadObj

DINT

Dirección del primer objeto cuyos valores se leen.

i_iReadQuantity

INT

Número de objetos que se van a leer.

i_pbyReadBuffer

POINTER TO BYTE

Dirección del búfer en el que se almacenan los valores de objetos de lectura.

i_diFirstWriteObj

DINT

Dirección del primer objeto cuyos valores se escriben.

i_iWriteQuantity

INT

Número de objetos que se van a escribir.

i_pbyWriteBuffer

POINTER TO BYTE

Dirección del búfer en el que se almacenan los valores de objeto que se van a escribir.

i_astRemoteDevices

ARRAY [1..Gc_uiRemoteAddressTableLen] OF ST_RemoteDevice

Contiene la lista de direcciones de dispositivos remotos para la comunicación Modbus TCP.

En la tabla se describen las variables de salida del bloque de funciones en la biblioteca TwidoEmulationSupport:

Salida

Tipo de datos

Descripción

q_xDone

BOOL

q_xDone se establece en TRUE cuando la función se lleva a cabo correctamente.

q_xBusy

BOOL

q_xBusy se establece en TRUE mientras la función está en curso.

q_xAborted

BOOL

q_xAborted se establece en TRUE cuando la función se detiene con la entrada i_xAbort.

q_xError

BOOL

q_xError se establece en TRUE cuando la función se detiene debido a que se ha detectado un error.

q_etCommError

SEN.CommunicationErrorCodes

q_etCommError contiene el valor de los códigos de error de comunicación SEN.CommunicationErrorCodes.

q_etOperError

SEN.OperationErrorCodes

q_etOperError contiene el valor de los códigos de error de funcionamiento SEN.OperationErrorCodes.