Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
SET TIMEOUT
|
SET TIMEOUT ( segundos ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
segundos | Entero largo |
![]() |
Número de segundos hasta el timeout | |||||
El comando SET TIMEOUT especifica cuánto tiempo tiene para la ejecución un comando de puerto serial. Si el comando no termina dentro del tiempo especificado, segundos, el comando del puerto serial se cancela, se genera un error -9990, y la variable sistema OK toma el valor 0. Puede interceptar este error con la ayuda de un método instalado por el comando ON ERR CALL.
Note que el tiempo es el tiempo total permitido para que el comando se ejecute, no el tiempo entre los caracteres recibidos. Para cancelar un parámetro anterior y detener el monitoreo de la comunicación de puerto serial, utilice un parámetro de 0 para segundos.
Los comandos que se afectan por el parámetro timeout son:
El siguiente ejemplo fija el puerto serial para recibir datos y el timeout. Los datos se leen con RECEIVE PACKET. Si los datos no se reciben en el tiempo definido, ocurre un error:
SET CHANNEL(MacOS serial port;Speed 9600+Data bits 8+Stop bits one+Parity none) ` Apertura del puerto serial
SET TIMEOUT(10) ` Fijar el timeout en 10 segundos
ON ERR CALL("INTERCEPTAR ERRORES COM") ` Tratar las interrupciones eventuales
RECEIVE PACKET(vtBuffer;Char(13)) ` Leer hasta encontrar un retorno de carro
If(OK=0)
ALERT("Error durante la recepción de datos.")
Else
[Personas]Nombre:=vtBuffer ` Guardar los datos recibidos en un campo
End if
ON ERR CALL("")
ON ERR CALL
RECEIVE BUFFER
RECEIVE PACKET
RECEIVE RECORD
RECEIVE VARIABLE
Producto: 4D
Tema: Comunicaciones
Número
268
Creado por: < 4D v6
Manual de lenguaje 4D ( 4D v20 R7)