4.- Drive Programming
Para que esta función automática sea operativa, se debe cargar el siguiente programa mediante
la herramienta CX-Drive y habilitar su ejecución mediante el parámetro A107.
#alias global
Autoreset_fallo
#alias global
Num_reintentos_reset
#alias global
Intervalo_entre_reset
10s)
#alias global
Contador_num_reint_reset
#alias global
Intervalo_maximo_reset
entry
:inicio
on trip goto
fallo
if
AL
=
0
then
Contador_num_reint_reset
:=
endif
:rutina
if
Num_reintentos_reset
>
10
Num_reintentos_reset
:=
10
endif
if
Intervalo_entre_reset
>=
Intervalo_maximo_reset
máximo
Intervalo_entre_reset
:=
Intervalo_maximo_reset
endif
if
Autoreset_fallo
>=
2
then
Autoreset_fallo
:=
2
endif
' Espacio para el Programa principal
goto
rutina
:fallo
UMon(0)
:=
Contador_num_reint_reset
UMon(1)
:=
AL
inc
Contador_num_reint_reset
select
Autoreset_fallo
case
0
wait
AL
=
0
case
1
wait
500
RS
:=
1
wait
10
RS
:=
0
wait
10
wait
AL
=
0
as
U(05)
' P105 Autoreset fallo (0:no, 1:sí (siempre), 2: sí (número reintentos P106)
as
U(06)
' P106 número de intentos (limitado a 10)
as
U(07)
' P107 intervalo entre intentos (en décimas de segundo --> 1000 =
as
U(23)
' Contador número reintentos de reset
as
U(24)
' Intervalo máximo entre reset (P124 = 2000)
0
then
' Si se escribe valor mayor que 10 en P106, limita a 10 el valor
then
' Para escribir valor coherente en P105
' incrementa contador reintentos de reset
' P105 Autoreset fallo (0:no, 1:sí (siempre), 2: sí (número reintentos P106)
' No autoreset
' Siempre autoreset (número ilimitado con intervalos de 5 segundos)
' El intervalo entre resets será de 20 segundos como
OMRON