FB_WriteReadVar: Bloque de funciones de escritura y lectura de datos
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:
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. |