ANSIREPLY
Este comando existía en la aplicación UD70, pero la sintaxis ha cambiado para
adecuarla al módulo de aplicaciones.
(Status%, Reply%) = ANSIREPLY()
Se trata de una función del puerto EIA-RS485 que se utiliza junto con las funciones
ANSIREAD y ANSIWRITE.
Ejemplos de ANSIREPLY:
Result% = ANSIREADN(12, 1811) //realizar lectura ansi
//mensaje enviado correctamente
IF Result% = 0 THEN
//mensaje no enviado correctamente
goto top:
ENDIF
Timeout% = 0 //mensaje enviado correctamente y límite de inicialización
DO
(status%, reply%) = ANSIREPLY()// obtener estado y valor de lectura
DELAY(1)
LOOP WHILE Status% = -65536 AND Timeout% < 50 //Tiempo límite=50x base de
tiempo de reloj
Background{
top:
Value% = #18.11
Result% = ANSIWRITEN(12, 1811, Value%, 1);escribir valor en
accionamiento remoto
IF Result% = 0 THEN
//mensaje no enviado correctamente
goto top:
ENDIF
CALL get_reply:
GOTO top:
} //Background
get_reply:{
Timeout% = 0
DO
(Status%, Reply%) = ANSIREPLY()
LOOP WHILE Status% = -65536 AND Timeout% < 50
} //get_reply:
El primer argumento de salida devuelve el estado del comando ANSIREPLY y puede
tener cualquiera de estos valores:
74
♣♥
// intervalo de 100 ms
//obtener respuesta
-65536 = Todavía no se ha recibido respuesta
-65537 = Se ha recibido respuesta, pero con suma de comprobación
incorrecta
-65538 = EOT recibido (el parámetro no existe)
-65539 = NAK recibido
-65540 = ACK recibido
www.controltechniques.com
Módulos de Aplicaciones Guía del usuario
Edición 2